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