Pandas 按唯一列值拆分数据框

Bij*_*jan 3 python dataframe pandas

我有一个数据框正在输出到名为“所有数据”的电子表格中。假设此数据包含企业地址(街道、城市、邮政编码、州的列)。但是,我还想为包含完全相同的列的每个唯一状态创建一个工作表。

我的基本想法是使用迭代每一行df.iterrows()并通过将数据帧附加到新的数据帧来划分数据帧,但这似乎效率极低。有一个更好的方法吗?

我找到了这个答案,但这只是一个布尔索引。

小智 11

其他问题的 groupby 答案也对您有用。在你的情况下,类似:

df_list = [d for _, d in df.groupby(['state'])]
Run Code Online (Sandbox Code Playgroud)

这使用列表理解来返回数据帧列表,每个状态一个数据帧。