Ran*_*ith 5 indexing filtering dataframe pandas
数据帧:
category value
A 25
B 10
A 15
B 28
A 18
Run Code Online (Sandbox Code Playgroud)
需要选择满足以下条件的行,
1.category=A
值在 10 到 20 之间
2. A 以外的类别
jez*_*ael 12
我认为你需要boolean indexing
:
df1 = df[(df['category'] == 'A') & (df['value'].between(10,20))]
print (df1)
category value
2 A 15
4 A 18
Run Code Online (Sandbox Code Playgroud)
进而:
df2 = df[(df['category'] != 'A') & (df['value'].between(10,20))]
print (df2)
category value
1 B 10
Run Code Online (Sandbox Code Playgroud)
或者:
df3 = df[df['category'] != 'A']
print (df3)
category value
1 B 10
3 B 28
Run Code Online (Sandbox Code Playgroud)
编辑:加入两个条件|
for or
,不要忘记添加()
到第一个条件。
df1 = df[((df['category'] == 'A') & (df['value'].between(10,20))) |
(df['category'] != 'A')]
print (df1)
category value
1 B 10
2 A 15
3 B 28
4 A 18
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22187 次 |
最近记录: |