使用python将具有条件的新列添加到数据帧
我创建了一个能量数据帧:使用python将具有条件的新列添加到数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我创建了一个能量数据帧: df_energy=pd.read_csv('C:/Users/Demonstrator/Downloads/power.csv', delimiter=';', parse_dates=[0], infer_datetime_format = True) 在这种结构中: df_energy.info() 多谢各位 亲切问候您可以从以下位置使用: 样本df: Out[71]: TIMESTAMP P_ACT_KW PERIODE_TA
df_energy=pd.read_csv('C:/Users/Demonstrator/Downloads/power.csv', delimiter=';', parse_dates=[0], infer_datetime_format = True)
在这种结构中:
df_energy.info()
多谢各位
亲切问候您可以从以下位置使用:样本df:
Out[71]:
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE \
0 2015-07-31 23:00:00 12.0 HC NaN ST GEREON
1 2015-07-31 23:10:00 466.0 HC 425.0 ST GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0 ST GEREON
3 2015-07-31 23:30:00 17.0 HC 425.0 ST GEREON
TARIF
0 TURPE_HTA5
1 TURPE_HTA5
2 TURPE_HTA5
3 TURPE_HTA5
df['high_energy']=np.where(df['P_ACT_KW']>400,df['P_ACT_KW'],0)
df['medium_energy']=np.where((df['P_ACT_KW']>200)&(df['P_ACT_KW']<400),df['P_ACT_KW'],0)
df['low_energy']=np.where(df['P_ACT_KW']<200,df['P_ACT_KW'],0)
Out[72]:
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE \
0 2015-07-31 23:00:00 12.0 HC NaN ST GEREON
1 2015-07-31 23:10:00 466.0 HC 425.0 ST GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0 ST GEREON
3 2015-07-31 23:30:00 17.0 HC 425.0 ST GEREON
TARIF high_energy medium_energy low_energy
0 TURPE_HTA5 0.0 0.0 12.0
1 TURPE_HTA5 466.0 0.0 0.0
2 TURPE_HTA5 0.0 0.0 18.0
3 TURPE_HTA5 0.0 0.0 17.0
Out[71]:
时间戳P_ACT_KW Period_TARIF P_SOUSCR站点\
0 2015-07-31 23:00:00 12.0 HC南街基隆
1 2015-07-3123:10:00466.0HC 425.0St GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0圣基隆
3 2015-07-31 23:30:00 17.0 HC 425.0圣基隆
塔里夫
0头巾HTA5
1头巾
2头巾HTA5
3头巾
df['high_energy']=np.式中(df['P_ACT_KW']>400,df['P_ACT_KW'],0)
df['medium_energy']=np。其中((df['P_ACT_KW']>200)和(df['P_ACT_KW']您可以从as:
样本df:
Out[71]:
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE \
0 2015-07-31 23:00:00 12.0 HC NaN ST GEREON
1 2015-07-31 23:10:00 466.0 HC 425.0 ST GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0 ST GEREON
3 2015-07-31 23:30:00 17.0 HC 425.0 ST GEREON
TARIF
0 TURPE_HTA5
1 TURPE_HTA5
2 TURPE_HTA5
3 TURPE_HTA5
df['high_energy']=np.where(df['P_ACT_KW']>400,df['P_ACT_KW'],0)
df['medium_energy']=np.where((df['P_ACT_KW']>200)&(df['P_ACT_KW']<400),df['P_ACT_KW'],0)
df['low_energy']=np.where(df['P_ACT_KW']<200,df['P_ACT_KW'],0)
Out[72]:
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE \
0 2015-07-31 23:00:00 12.0 HC NaN ST GEREON
1 2015-07-31 23:10:00 466.0 HC 425.0 ST GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0 ST GEREON
3 2015-07-31 23:30:00 17.0 HC 425.0 ST GEREON
TARIF high_energy medium_energy low_energy
0 TURPE_HTA5 0.0 0.0 12.0
1 TURPE_HTA5 466.0 0.0 0.0
2 TURPE_HTA5 0.0 0.0 18.0
3 TURPE_HTA5 0.0 0.0 17.0
Out[71]:
时间戳P_ACT_KW Period_TARIF P_SOUSCR站点\
0 2015-07-31 23:00:00 12.0 HC南街基隆
1 2015-07-3123:10:00466.0HC 425.0St GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0圣基隆
3 2015-07-31 23:30:00 17.0 HC 425.0圣基隆
塔里夫
0头巾HTA5
1头巾
2头巾HTA5
3头巾
df['high_energy']=np.式中(df['P_ACT_KW']>400,df['P_ACT_KW'],0)
df['medium_energy']=np.其中((df['P_ACT_KW']>200)和(df['P_ACT_KW']No它们是6:2015-07-31 23:30:00 | 17.0 | HC | 425.0 | ST GEREON | TURPE | HTA5No它们是6:2015-07-31 23:30:00 | HC | 425 0.0(是的,可以使用嵌套的np.where likenp.where(cond,value,np.where(cond1,value,value))
。请回答另一个问题:是否可以对多个条件使用“np.where”,例如如果(x<..)或者如果(是的,可以使用嵌套的np.where likenp.where(cond,value,np.where(cond1,value))
。
Out[71]:
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE \
0 2015-07-31 23:00:00 12.0 HC NaN ST GEREON
1 2015-07-31 23:10:00 466.0 HC 425.0 ST GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0 ST GEREON
3 2015-07-31 23:30:00 17.0 HC 425.0 ST GEREON
TARIF
0 TURPE_HTA5
1 TURPE_HTA5
2 TURPE_HTA5
3 TURPE_HTA5
df['high_energy']=np.where(df['P_ACT_KW']>400,df['P_ACT_KW'],0)
df['medium_energy']=np.where((df['P_ACT_KW']>200)&(df['P_ACT_KW']<400),df['P_ACT_KW'],0)
df['low_energy']=np.where(df['P_ACT_KW']<200,df['P_ACT_KW'],0)
Out[72]:
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE \
0 2015-07-31 23:00:00 12.0 HC NaN ST GEREON
1 2015-07-31 23:10:00 466.0 HC 425.0 ST GEREON
2 2015-07-31 23:20:00 18.0 HC 425.0 ST GEREON
3 2015-07-31 23:30:00 17.0 HC 425.0 ST GEREON
TARIF high_energy medium_energy low_energy
0 TURPE_HTA5 0.0 0.0 12.0
1 TURPE_HTA5 466.0 0.0 0.0
2 TURPE_HTA5 0.0 0.0 18.0
3 TURPE_HTA5 0.0 0.0 17.0