[英]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.