首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个大数据帧拆分成多个数据帧

将一个大数据帧拆分成多个数据帧
EN

Stack Overflow用户
提问于 2019-11-21 17:44:08
回答 2查看 216关注 0票数 1

我有一个发电厂的列表,我把它们拆分成for循环,然后做一些类似这样的流程。

代码语言:javascript
复制
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循环之后调用。因此,我必须合并这些数据。我认为在这种情况下分离它可能更有可能。

如何才能拆分此数据帧并为其指定名称?

EN

回答 2

Stack Overflow用户

发布于 2019-11-21 18:47:57

据我所知,你在一个数据框中有发电厂的所有记录,现在你想通过它们的名称来访问它们,这在功能文件名中?

你可以访问singel发电厂的那些专栏,例如“bergama”,只需简单地说明:

代码语言:javascript
复制
print(df[df.filename=='bergama'])  

此外,这个问题已经被多次提出。有人能给它做个记号吗?

票数 0
EN

Stack Overflow用户

发布于 2019-11-22 20:52:13

  1. 从文件名列中获取唯一值,并将其存储在列表或集合中。(dataframe.filename.unique) 2.传递列表或集合中的每个值以获取seperatefiles.

另一个观察结果是:

(0-23-> bergama,24-48-irkmax等)1.使用索引获取每个powerplant的单独文件。(使用step=23、intial=0、final=50*23的for循环)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58971756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档