Python 按日期时间格式对数据帧的列进行分组

Python 按日期时间格式对数据帧的列进行分组,python,pandas,datetime,Python,Pandas,Datetime,我有两个问题: 1是否有类似pandas groupby的内容,但适用于df.columns列,而不是其中的数据 2如何从datetime对象提取日期 我有很多数据帧或csv文件,它们有一个位置列,我用它作为索引,然后是在不同时间在每个位置测量的值列。列标题是datetime对象或pd.to\u datetime。 我想从同一日期提取数据并将其保存到新文件中 下面是两个这样的数据帧的简单示例 df1: 和df2: 2015-05-19 11:33:00 2015-05-19 11:3

我有两个问题:

1是否有类似pandas groupby的内容,但适用于df.columns列,而不是其中的数据

2如何从datetime对象提取日期

我有很多数据帧或csv文件,它们有一个位置列,我用它作为索引,然后是在不同时间在每个位置测量的值列。列标题是datetime对象或pd.to\u datetime。 我想从同一日期提取数据并将其保存到新文件中

下面是两个这样的数据帧的简单示例

df1:

和df2:

     2015-05-19 11:33:00  2015-05-19 11:33:15  2015-05-19 11:33:30  \
0.0             8.836121             8.726685             8.710449   
0.5             8.732880             8.742462             8.687408   
1.0             8.881165             8.935120             8.925903   
1.5             9.043396             9.092651             9.204041   
2.0             9.080902             9.153839             9.329681   
2.5             9.128815             9.183777             9.296509   
3.0             9.191254             9.121643             9.207397   
3.5             9.131866             8.975372             9.160248   
4.0             8.966003             8.951813             9.195221   
4.5             8.846924             9.074982             9.264099   
5.0             8.848663             9.101593             9.283081   

     2015-05-23 12:25:00  2015-05-23 12:26:00  2015-05-23 12:26:30  
0.0             10.31052            10.132660            10.176910  
0.5             10.26834            10.086910            10.252720  
1.0             10.27393            10.165890            10.276670  
1.5             10.29330            10.219090            10.335910  
2.0             10.24432            10.193940            10.406430  
2.5             10.11618            10.157470            10.323120  
3.0             10.02454            10.110720            10.115360  
3.5             10.08716            10.010680             9.997345  
4.0             10.23868             9.905670            10.008090  
4.5             10.27216             9.879425             9.979645  
5.0             10.10693             9.919800             9.870361  
df1拥有3月13日和5月19日的数据,df2拥有5月19日和5月23日的数据。从这两个包含3天数据的数据框中,我想得到3个数据框或csv文件或任何其他对象,每天一个。 对于一个真实的例子,将行、列和文件的数量乘以几百

在最坏的情况下,我可以在单独的列表中指定日期,但仍然无法从数据帧中提取这些日期。 我确实有一个嵌套循环的想法

对于数据帧中的df: 对于d in日期: 新的_df=df[d]

但我无法从日期时间中获取日期。

首先按列列出所有数据帧,然后将对象转换为数据帧字典的字符串键:


如果有很多CSV,它应该会发生。如果可能,最好只使用一些CSV。。。或添加RAM:
     2015-05-19 11:33:00  2015-05-19 11:33:15  2015-05-19 11:33:30  \
0.0             8.836121             8.726685             8.710449   
0.5             8.732880             8.742462             8.687408   
1.0             8.881165             8.935120             8.925903   
1.5             9.043396             9.092651             9.204041   
2.0             9.080902             9.153839             9.329681   
2.5             9.128815             9.183777             9.296509   
3.0             9.191254             9.121643             9.207397   
3.5             9.131866             8.975372             9.160248   
4.0             8.966003             8.951813             9.195221   
4.5             8.846924             9.074982             9.264099   
5.0             8.848663             9.101593             9.283081   

     2015-05-23 12:25:00  2015-05-23 12:26:00  2015-05-23 12:26:30  
0.0             10.31052            10.132660            10.176910  
0.5             10.26834            10.086910            10.252720  
1.0             10.27393            10.165890            10.276670  
1.5             10.29330            10.219090            10.335910  
2.0             10.24432            10.193940            10.406430  
2.5             10.11618            10.157470            10.323120  
3.0             10.02454            10.110720            10.115360  
3.5             10.08716            10.010680             9.997345  
4.0             10.23868             9.905670            10.008090  
4.5             10.27216             9.879425             9.979645  
5.0             10.10693             9.919800             9.870361  
df = pd.concat([df1,df2, dfN], axis=1)
dfs = dict(tuple(df.groupby(df.columns.strftime('%Y-%m-%d'), axis=1)))

#select DataFrame 
print (dfs['2015-03-13'])