簡體   English   中英

PANDAS 如何根據第一列的值拆分數據框?

[英]PANDAS How to split a dataframe according to value from first column?

如果可能的話,我想根據第一列中的值將一個大數據幀拆分為幾個較小的數據幀,我沒有在網上找到它。 例如,我有這個:

DF
Column1 Column2 Column3 Column4 
  A       1       2       1
  A       1       1       2
  A       3       2       2
  B       2       1       2
  B       3       1       1

split this into :
DF1
Column1 Column2 Column3 Column4 
  A       1       2       1
  A       1       1       2
  A       3       2       2

DF2
Column1 Column2 Column3 Column4 
  B       2       1       2
  B       3       1       1

簡單如:

df1 = df[df['A'] == 'A']
df2 = df[df['B'] == 'B']

如果您有該列的唯一值,您可以創建一個數據框列表:

df_lst = list()
unique_elements = df['column1'].unique()

for elm in unique_elements:
     df_lst.append(df[df['column1'] == elm])

您可以通過熊貓解決這個問題並使用函數 groupby()

import pandas as pd
#load your file 
df =pd.read_csv('sample.csv')
grouped = df.groupby(df.column1)
A = grouped.get_group("A")
B = grouped.get_group("B")
print(A)
print(B)

您可以將 groupby 用作:

df=[['A',1 ,1,2],['A',10,1,2],['B',10,1,2],['B',30,1,2]]
df = pd.DataFrame(df,columns=['a','b','c','d'])

d1,d2 = df.groupby('a')
print(d1[1])
print()
print(d2[1])

   a   b  c  d
0  A   1  1  2
1  A  10  1  2

   a   b  c  d
2  B  10  1  2
3  B  30  1  2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM