Arrays 在一列中的值范围上拆分数据帧
假设我有以下数据帧:Arrays 在一列中的值范围上拆分数据帧,arrays,pandas,dataframe,numpy,split,Arrays,Pandas,Dataframe,Numpy,Split,假设我有以下数据帧: df = pd.DataFrame({'A' : [0, 0.3, 0.8, 1, 1.5, 2.3, 2.3, 2.9], 'B' : randn(8)}) df Out[86]: A B 0 0.0 0.130471 1 0.3 0.029251 2 0.8 0.790972 3 1.0 -0.870462 4 1.5 -0.700132 5 2.3 -0.361464 6 2.3 -1.100923 7 2.9 -1.
df = pd.DataFrame({'A' : [0, 0.3, 0.8, 1, 1.5, 2.3, 2.3, 2.9], 'B' : randn(8)})
df
Out[86]:
A B
0 0.0 0.130471
1 0.3 0.029251
2 0.8 0.790972
3 1.0 -0.870462
4 1.5 -0.700132
5 2.3 -0.361464
6 2.3 -1.100923
7 2.9 -1.003341
如何根据Col A值的范围拆分此数据帧,如下所示(0尝试使用
groupby
和floored division:
for k, d in df.groupby(df['A']//1):
print(d)
输出:
A B
0 0.0 0.130471
1 0.3 0.029251
2 0.8 0.790972
A B
3 1.0 -0.870462
4 1.5 -0.700132
A B
5 2.3 -0.361464
6 2.3 -1.100923
7 2.9 -1.003341
谢谢@Quang Hoang。相对于使用for循环,我如何修改它以将这些数据帧存储在列表中?
out=[d代表k,d代表df.groupby(…)]
for k, d in df.groupby(df['A']//1):
print(d)
A B
0 0.0 0.130471
1 0.3 0.029251
2 0.8 0.790972
A B
3 1.0 -0.870462
4 1.5 -0.700132
A B
5 2.3 -0.361464
6 2.3 -1.100923
7 2.9 -1.003341