以此作为快速起点;
http://pandas.pydata.org/pandas-docs/stable/reshaping.html
In [1]: df
Out[1]:
date variable value
0 2000-01-03 A 0.469112
1 2000-01-04 A -0.282863
2 2000-01-05 A -1.509059
3 2000-01-03 B -1.135632
4 2000-01-04 B 1.212112
5 2000-01-05 B -0.173215
6 2000-01-03 C 0.119209
7 2000-01-04 C -1.044236
8 2000-01-05 C -0.861849
9 2000-01-03 D -2.104569
10 2000-01-04 D -0.494929
11 2000-01-05 D 1.071804
然后隔离 'A' 给出这个:
In [2]: df[df['variable'] == 'A']
Out[2]:
date variable value
0 2000-01-03 A 0.469112
1 2000-01-04 A -0.282863
2 2000-01-05 A -1.509059
现在创建新的数据框将是:
dfA = df[df['variable'] == 'A']
假设 B 是:
dfB = df[df['variable'] == 'B']
因此,将数据帧分离为 dfA、dfB、dfC……
dfList = list(set(df['variable']))
dfNames = ["df" + row for row in dfList]
for i, row in enumerate(dfList):
dfName = dfNames[i]
dfNew = df[df['variable'] == row]
dfNames[i] = dfNew
它运行...但是当尝试 dfA 我得到输出 "dfA"is not defined
请您参考如下方法:
使用groupby和get_group,例如:
grouped = df.groupby('variable')
然后当你想对每个组做一些事情时,就这样访问它:
my_group = grouped.get_group('A')
给你:
date variable value
0 2000-01-03 A 0.469112
1 2000-01-04 A -0.282863
2 2000-01-05 A -1.509059
