首页 > 解决方案 > 根据给定的列值创建多个 DataFrame

问题描述

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

>>>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 如果您需要更多信息,请告诉我。

标签: pythonpandasdataframesplit

解决方案


这是一个简单的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


推荐阅读