【问题标题】:Create multiple DataFrames based on given column values [duplicate]根据给定的列值创建多个 DataFrames [重复]
【发布时间】:2018-11-24 18:32:39
【问题描述】:

可能有一个我找不到的简单解决方案... 使用给定的 DataFrame,我怎样才能将它分成多个 DataFrames 并从以下内容开始:

>>>import pandas as pd
>>>d ={'LOT': [102,104,162,102,104,102],'VAL': [22,424,65,4,34,6]}
>>>df = pd.DataFrame(data=d)
>>>df

   LOT  VAL
0  102   22
1  104  424
2  162   65
3  102    4
4  104   34
5  102    6

到:

>>>df[0]
   LOT  VAL
0  102   22
1  102    4
2  102    6
>>>df[1]
   LOT  VAL
0  104  424
1  104   34
>>>df[2]
   LOT  VAL
0  162   65

具有 3 个不同的 DataFrame 如果您需要更多信息,请告诉我。

【问题讨论】:

    标签: python pandas dataframe split


    【解决方案1】:

    这是一个简单的 groupby。让我看看我是否找到了一个骗子:

    import pandas as pd
    
    df = pd.DataFrame({
        'LOT': [102,104,162,102,104,102],
        'VAL': [22,424,65,4,34,6]
    })
    
    df = [x for _, x in df.groupby('LOT')]
    

    好的,我发现了一些东西。但是答案似乎过于复杂,所以我将把它留在这里。 看起来很像:Split pandas dataframe based on groupby

    【讨论】:

    • 这很有帮助!我对这种类型的 for 循环不是很熟悉,你有什么建议可以让我了解更多吗? [特别是,在“for”之前和逗号之后都有 x 是如何工作的?
    • 我们如何访问创建的数据框?另外,如果我们想按 2 列分组,我们将如何访问数据框?
    • df 应该是 dfs 并且是一个数组,因此可以通过索引访问。
    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    相关资源
    最近更新 更多