1. ホーム
  2. python

[解決済み] PandasはDataFrameをカラムの値で分割します。

2022-03-01 03:23:55

質問

私は DataFrame というカラムがあります。 Sales .

をベースに2つに分割するにはどうしたらよいでしょうか? Sales の値は?

最初 DataFrame でデータを持つことになります。 'Sales' < s で、2番目は 'Sales' >= s

解決方法は?

を使用することができます。 boolean indexing :

df = pd.DataFrame({'Sales':[10,20,30,40,50], 'A':[3,4,7,6,1]})
print (df)
   A  Sales
0  3     10
1  4     20
2  7     30
3  6     40
4  1     50

s = 30

df1 = df[df['Sales'] >= s]
print (df1)
   A  Sales
2  7     30
3  6     40
4  1     50

df2 = df[df['Sales'] < s]
print (df2)
   A  Sales
0  3     10
1  4     20

を反転させることも可能です。 mask によって ~ :

mask = df['Sales'] >= s
df1 = df[mask]
df2 = df[~mask]
print (df1)
   A  Sales
2  7     30
3  6     40
4  1     50

print (df2)
   A  Sales
0  3     10
1  4     20


print (mask)
0    False
1    False
2     True
3     True
4     True
Name: Sales, dtype: bool

print (~mask)
0     True
1     True
2    False
3    False
4    False
Name: Sales, dtype: bool