Python 按唯一列值拆分数据帧

Python 按唯一列值拆分数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,它被输出到一个名为“所有数据”的电子表格中。假设此数据包含街道、城市、邮政编码、州的“业务地址”列。但是,我还想为每个唯一状态创建一个工作表,其中包含完全相同的列 我的基本想法是使用df.iterrows对每一行进行迭代,并通过将数据帧附加到新的数据帧来像这样划分数据帧,但这似乎效率极低。有更好的方法吗 我发现这只是一个布尔索引。一个简单的方法是获取唯一的状态,然后过滤掉它们,并将它们保存为单个CSV,或者在之后执行任何其他操作 下面是一个例子: # df[column].uni

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

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


我发现这只是一个布尔索引。

一个简单的方法是获取唯一的状态,然后过滤掉它们,并将它们保存为单个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()

一个简单的方法是获取唯一的状态,然后过滤掉它们,并将它们保存为单个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()

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

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

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

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

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

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

您尝试过groupby吗?您尝试过groupby吗??