使用熊猫按列值分组DataFrame

时间:2018-11-13 16:13:24

标签: python python-2.7 pandas

我有以下(熊猫)DataFrame:

    b    c    d    e
0  100  369  203  314
1  100  228  784  366
2  200  811  664  202
3  200  531  932  575

我想迭代其行,但我需要知道b的值在哪里更改。 我正在寻找一种以组或类似的方式获取此DF内容,然后在每个组的行上进行迭代的方法(使用嵌套循环,这样我可以得到一个指示,b值确实发生了变化):

在第一次迭代中,我的新df为:

    b    c    d    e
0  100  369  203  314
1  100  228  784  366

在第二次迭代中,我的新df将是:

    b    c    d    e
0  200  811  664  202
1  200  531  932  575

1 个答案:

答案 0 :(得分:0)

您可以使用Implement a PayPal Checkout Server Integration方法:

from pandas import DataFrame
columns = ["b", "c", "d", "e"]
data = [[100, 369, 203, 314], [100, 228, 784, 366], [200, 811, 664, 202], [200, 531, 932, 575]]
df = DataFrame(data=data,columns=columns)

def split_dfs(df, col):
    return [group[1] for group in list(df.groupby(col))]

dfs = split_dfs(df, "b")

for df_group in dfs:
    print(df_group)
    b    c    d    e
0  100  369  203  314
1  100  228  784  366
     b    c    d    e
2  200  811  664  202
3  200  531  932  575