python - 为什么我使用 .apply 函数丢失了列名
问题描述
请查看下面的代码并告诉我为什么以及如何纠正我在使用 .apply 函数时丢失列的事实:
def compute_dayi_past_forecasts_assign_to_df(self):
print ("Reverse engineering day_i past forecasts & exporting to dftrain.csv ...")
self.simplifieddf = self.data[self.data["leadtime_hour"]==0]
print (self.data)
print(self.simplifieddf)
self.simplifieddf.reset_index()
print(self.simplifieddf)
self.simplifieddf = self.simplifieddf[["dateiminusonepm25dayiforecast",\
"dateiminusoneno2dayiforecast",\
"dateiminusoneo3dayiforecast",\
"dateiminusonepm10dayiforecast",\
"dateiminusonecodayiforecast",\
"dateiminusoneso2dayiforecast",\
"dateiminustwopm25dayiforecast",\
"dateiminustwono2dayiforecast",\
"dateiminustwoo3dayiforecast",\
"dateiminustwopm10dayiforecast",\
"dateiminustwocodayiforecast",\
"dateiminustwoso2dayiforecast",\
"dateiminusthreepm25dayiforecast",\
"dateiminusthreeno2dayiforecast",\
"dateiminusthreeo3dayiforecast",\
"dateiminusthreepm10dayiforecast",\
"dateiminusthreecodayiforecast",\
"dateiminusthreeso2dayiforecast",\
"dateiminusfourpm25dayiforecast",\
"dateiminusfourno2dayiforecast",\
"dateiminusfouro3dayiforecast",\
"dateiminusfourpm10dayiforecast",\
"dateiminusfourcodayiforecast",\
"dateiminusfourso2dayiforecast",\
"dateiminusonepm25dayiforecast7davg",\
"dateiminusoneno2dayiforecast7davg",\
"dateiminusoneo3dayiforecast7davg",\
"dateiminusonepm10dayiforecast7davg",\
"dateiminusonecodayiforecast7davg",\
"dateiminusoneso2dayiforecast7davg",\
"dateiminusonepm25dayiforecast1Mavg",\
"dateiminusoneno2dayiforecast1Mavg",\
"dateiminusoneo3dayiforecast1Mavg",\
"dateiminusonepm10dayiforecast1Mavg",\
"dateiminusonecodayiforecast1Mavg",\
"dateiminusoneso2dayiforecast1Mavg",\
"dateiminusonepm25dayiforecast1MMax",\
"dateiminusoneno2dayiforecast1MMax",\
"dateiminusoneo3dayiforecast1MMax",\
"dateiminusonepm10dayiforecast1MMax",\
"dateiminusonecodayiforecast1MMax",\
"dateiminusoneso2dayiforecast1MMax",\
"dateiminustwopm25dayiforecast7davg",\
"dateiminustwono2dayiforecast7davg",\
"dateiminustwoo3dayiforecast7davg",\
"dateiminustwopm10dayiforecast7davg",\
"dateiminustwocodayiforecast7davg",\
"dateiminustwoso2dayiforecast7davg",\
"dateiminustwopm25dayiforecast1Mavg",\
"dateiminustwono2dayiforecast1Mavg",\
"dateiminustwoo3dayiforecast1Mavg",\
"dateiminustwopm10dayiforecast1Mavg",\
"dateiminustwocodayiforecast1Mavg",\
"dateiminustwoso2dayiforecast1Mavg",\
"dateiminustwopm25dayiforecast1MMax",\
"dateiminustwono2dayiforecast1MMax",\
"dateiminustwoo3dayiforecast1MMax",\
"dateiminustwopm10dayiforecast1MMax",\
"dateiminustwocodayiforecast1MMax",\
"dateiminustwoso2dayiforecast1MMax",\
"dateiminusthreepm25dayiforecast7davg",\
"dateiminusthreeno2dayiforecast7davg",\
"dateiminusthreeo3dayiforecast7davg",\
"dateiminusthreepm10dayiforecast7davg",\
"dateiminusthreecodayiforecast7davg",\
"dateiminusthreeso2dayiforecast7davg",\
"dateiminusthreepm25dayiforecast1Mavg",\
"dateiminusthreeno2dayiforecast1Mavg",\
"dateiminusthreeo3dayiforecast1Mavg",\
"dateiminusthreepm10dayiforecast1Mavg",\
"dateiminusthreecodayiforecast1Mavg",\
"dateiminusthreeso2dayiforecast1Mavg",\
"dateiminusthreepm25dayiforecast1MMax",\
"dateiminusthreeno2dayiforecast1MMax",\
"dateiminusthreeo3dayiforecast1MMax",\
"dateiminusthreepm10dayiforecast1MMax",\
"dateiminusthreecodayiforecast1MMax",\
"dateiminusthreeso2dayiforecast1MMax",\
"dateiminusfourpm25dayiforecast7davg",\
"dateiminusfourno2dayiforecast7davg",\
"dateiminusfouro3dayiforecast7davg",\
"dateiminusfourpm10dayiforecast7davg",\
"dateiminusfourcodayiforecast7davg",\
"dateiminusfourso2dayiforecast7davg",\
"dateiminusfourpm25dayiforecast1Mavg",\
"dateiminusfourno2dayiforecast1Mavg",\
"dateiminusfouro3dayiforecast1Mavg",\
"dateiminusfourpm10dayiforecast1Mavg",\
"dateiminusfourcodayiforecast1Mavg",\
"dateiminusfourso2dayiforecast1Mavg",\
"dateiminusfourpm25dayiforecast1MMax",\
"dateiminusfourno2dayiforecast1MMax",\
"dateiminusfouro3dayiforecast1MMax",\
"dateiminusfourpm10dayiforecast1MMax",\
"dateiminusfourcodayiforecast1MMax",\
"dateiminusfourso2dayiforecast1MMax"]] = self.simplifieddf.apply(self.compute_forecast_data_for_training_models, axis = 1).apply(pd.Series)
print("\n")
print(self.simplifieddf)
print("\n")
self.simplifieddf.to_csv('../data/train/all_data_merged/fr/dftrain.csv')
return None
Reverse engineering day_i past forecasts & exporting to dftrain.csv ...
level_0 nom ... dateiminusfourcodayiforecast dateiminusfourso2dayiforecast
0 0 Ain ... NaN NaN
1 1 Ain ... NaN NaN
2 2 Ain ... NaN NaN
3 3 Ain ... NaN NaN
4 4 Ain ... NaN NaN
... ... ... ... ... ...
180475 39575 Haute-Corse ... (154.95061300659887, 0.1198547441642122) (0.2828088937316845, 0.011422029020511886)
180476 39576 Haute-Corse ... (154.95061300659887, 0.1198547441642122) (0.2828088937316845, 0.011422029020511886)
180477 39577 Haute-Corse ... (154.95061300659887, 0.1198547441642122) (0.2828088937316845, 0.011422029020511886)
180478 39578 Haute-Corse ... (154.95061300659887, 0.1198547441642122) (0.2828088937316845, 0.011422029020511886)
180479 39579 Haute-Corse ... (154.95061300659887, 0.1198547441642122) (0.2828088937316845, 0.011422029020511886)
[180480 rows x 124 columns]
level_0 nom ... dateiminusfourcodayiforecast dateiminusfourso2dayiforecast
0 0 Ain ... NaN NaN
5 5 Ain ... NaN NaN
10 10 Ain ... NaN NaN
15 15 Ain ... NaN NaN
20 20 Ain ... (149.03014431477732, 0.11197225229367214) (1.3959629756333052, 0.05675848607515867)
... ... ... ... ... ...
180455 39555 Haute-Corse ... (143.41060955577566, 0.10449042283729183) (0.3608481368692678, 0.014600405538738473)
180460 39560 Haute-Corse ... (144.24718466236382, 0.10560423608756485) (0.3614149127777261, 0.014623489145986743)
180465 39565 Haute-Corse ... (140.25963475581128, 0.10029522571053293) (0.5594709101764878, 0.02268989914840522)
180470 39570 Haute-Corse ... (153.1138524276324, 0.11740928737937492) (0.4827762961138283, 0.01956628658361586)
180475 39575 Haute-Corse ... (154.95061300659887, 0.1198547441642122) (0.2828088937316845, 0.011422029020511886)
[36096 rows x 124 columns]
level_0 nom ... dateiminusfourcodayiforecast dateiminusfourso2dayiforecast
0 0 Ain ... NaN NaN
5 5 Ain ... NaN NaN
10 10 Ain ... NaN NaN
15 15 Ain ... NaN NaN
20 20 Ain ... (149.03014431477732, 0.11197225229367214) (1.3959629756333052, 0.05675848607515867)
... ... ... ... ... ...
180455 39555 Haute-Corse ... (143.41060955577566, 0.10449042283729183) (0.3608481368692678, 0.014600405538738473)
180460 39560 Haute-Corse ... (144.24718466236382, 0.10560423608756485) (0.3614149127777261, 0.014623489145986743)
180465 39565 Haute-Corse ... (140.25963475581128, 0.10029522571053293) (0.5594709101764878, 0.02268989914840522)
180470 39570 Haute-Corse ... (153.1138524276324, 0.11740928737937492) (0.4827762961138283, 0.01956628658361586)
180475 39575 Haute-Corse ... (154.95061300659887, 0.1198547441642122) (0.2828088937316845, 0.011422029020511886)
[36096 rows x 124 columns]
0 1 ... dateiminusfourcodayiforecast1MMax dateiminusfourso2dayiforecast1MMax
0 NaN NaN ... NaN NaN
5 NaN NaN ... NaN NaN
10 NaN NaN ... NaN NaN
15 NaN NaN ... NaN NaN
20 11.8516 2.93831 ... NaN NaN
... ... ... ... ... ...
180455 4.24789 2.18165 ... 172.461 0.689131
180460 4.68711 1.80628 ... 172.461 0.689131
180465 7.63358 1.98594 ... 172.461 0.689131
180470 7.48639 1.99899 ... 172.461 0.689131
180475 8.15164 1.02853 ... 172.461 0.689131
[36096 rows x 192 columns]
正如您所注意到的,一些输出列没有名称,并且以数字递增。如果我拿走 self.simplifieddf = self.data[self.data["leadtime_hour"]==0] 并将函数直接应用于 self.data 我保留所有列名,那么列应该比列出的多[[ ]] 之间的列名...
解决方案
推荐阅读
- javascript - 在 ngClass 中动态绑定值
- sql - 在创建触发器时使用“REFERENCING NEW AS NEW OLD AS OLD”
- javascript - JavaScript 数组长度比较
- powershell - 使用 PowerShell 移动文件时检测重复文件并重命名
- laravel - 雄辩与多个地方
- pdf - 使用 IText 7 签署 Pdf 时的 Java 堆空间
- tensorflow - 如何将两个模型恢复到一个会话中,然后分别保存它们?
- ngrx - 具有多个动作的 Ngrx 效果
- android - 在 android 模拟器上运行 linphone - 无法加载可选库 ffmpeg-linphone
- codeigniter - 我如何使用我的 Codeigniter API 使用电子