我有一个发电厂的列表,我把它们拆分成for循环,然后做一些类似这样的流程。
list_of_pp = [v for k, v in pp_data.groupby('filename')]
dataframes = pd.DataFrame()
for pp in list_of_pp:
pp = pp.groupby(['Date', 'filename']).sum().reset_index().set_index('Date').reindex(YF_date_range)
pp['filename'] = pp['filename'].replace('', np.nan).ffill().bfill()
pp.fillna(0, inplace = True)
dataframes = dataframes.append(pp)
Output:
Date filename teklifId fiyat miktar SST SAT
2019-11-10 00:00:00 bergama 205379348 620,68 -3,4 1055,15 0
2019-11-10 01:00:00 bergama 205385090 622,18 -2,9 902,161 0
2019-11-10 02:00:00 bergama 205392261 622,24 -0,8 248,896 0
2019-11-10 03:00:00 bergama 205398901 559,78 -0,6 307,879 -139,9
2019-11-10 04:00:00 bergama 205407003 559,98 -1,9 615,978 -83,99
2019-11-10 05:00:00 bergama 205414086 620,38 -2,8 1147,70 -279,1
2019-11-10 06:00:00 bergama 205420617 630,24 -2,9 913,848 0
2019-11-10 07:00:00 bergama 205426123 623,28 -2,6 1184,23 -373,9
2019-11-10 08:00:00 bergama 205432679 397,98 -4 795,96 0
2019-11-10 09:00:00 bergama 205440561 336 -10,3 1730,4 0
2019-11-10 10:00:00 bergama 205450946 400 -10,9 2180 0
2019-11-10 11:00:00 bergama 205460808 350 -3,5 1242,5 -630
2019-11-10 12:00:00 bergama 205468765 335,98 -2,5 587,965 -167,99
2019-11-10 13:00:00 bergama 205476320 335,98 -1 419,975 -251,98
2019-11-10 14:00:00 bergama 205482691 396,92 -1,2 238,152 0
2019-11-10 15:00:00 bergama 205488983 336 2,7 0 -453
2019-11-10 16:00:00 bergama 205495848 592,3 6 0 -1776
2019-11-10 17:00:00 bergama 205503077 623,9 5,6 218,36 -1965
2019-11-10 18:00:00 bergama 205511694 653,8 5 424,97 -2059
2019-11-10 19:00:00 bergama 205520491 656,9 1,3 164,22 -591,2
2019-11-10 20:00:00 bergama 205531685 650,98 -0,1 585,88 -553,3
2019-11-10 21:00:00 bergama 205545909 643,5 -1,1 804,37 -450,4
2019-11-10 22:00:00 bergama 205557633 638,2 4 0 -1276
2019-11-10 23:00:00 bergama 205567413 622,9 0,3 685,25 -778,7
2019-11-10 00:00:00 irmak 102689118 310,3 -1 310,34 0
2019-11-10 01:00:00 irmak 0 0 0 0 0
2019-11-10 02:00:00 irmak 0 0 0 0 0
2019-11-10 03:00:00 irmak 102699101 279,89 -0,6 1 0
.
.
.
2019-11-10 23:00:00 tekirdag 302699101 0 0 0 0每个文件名代表一个电厂,每个电厂数据都有相同的索引('2019-11-10 00:00:00‘到'2019-11-10 23:00:00'),但它们是上下组合的。在这个数据帧中有将近50个发电厂,我想用一个名称filename来拆分它们。我想要访问这些数据帧。
例如:当我打印'bergama‘时,我只想看到一个包含bergama信息的数据帧。
因为在for循环中创建了这个大的数据帧,所以我不能给小的数据帧指定一个名称,所以我不能在for循环之后调用。因此,我必须合并这些数据。我认为在这种情况下分离它可能更有可能。
如何才能拆分此数据帧并为其指定名称?
发布于 2019-11-21 18:47:57
据我所知,你在一个数据框中有发电厂的所有记录,现在你想通过它们的名称来访问它们,这在功能文件名中?
你可以访问singel发电厂的那些专栏,例如“bergama”,只需简单地说明:
print(df[df.filename=='bergama']) 此外,这个问题已经被多次提出。有人能给它做个记号吗?
发布于 2019-11-22 20:52:13
另一个观察结果是:
(0-23-> bergama,24-48-irkmax等)1.使用索引获取每个powerplant的单独文件。(使用step=23、intial=0、final=50*23的for循环)
https://stackoverflow.com/questions/58971756
复制相似问题