簡體   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