繁体   English   中英

Pandas 按唯一列值拆分 Dataframe

[英]Pandas Split Dataframe by Unique Column Value

我有一个 Dataframe 是 output 到一个名为“所有数据”的电子表格。 假设此数据包含一个企业地址(街道、城市、zip、州的列)。 但是,我还想为每个包含完全相同列的唯一 state 创建一个工作表。

我的基本想法是使用df.iterrows()遍历每一行,然后通过将 dataframe 附加到新的 dataframe 来划分 Z6A8064B5DF479455500557DZ ,但这似乎效率极低。 有一个更好的方法吗?

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

另一个问题的 groupby 答案也对您有用。 在您的情况下,类似于:

df_list = [d for _, d in df.groupby(['state'])]

这使用列表推导返回数据帧列表,每个 state 有一个 dataframe。

一种简单的方法是获取唯一状态,然后将它们过滤掉并将它们保存为单独的 CSV 或在之后执行任何其他操作

这是一个例子:

# df[column].unique() returns a list of unique values in that particular column
for state in df['state'].unique():
    # Filter the dataframe using that column and value from the list
    df[df['state']==state].to_csv()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM