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