hsp.loc[hsp['Len_old'] == hsp['Len_new']]
Run Code Online (Sandbox Code Playgroud)
我尝试此代码,它正在工作。
但是我尝试了这三个
hsp.loc[hsp['Type_old'] == hsp['Type_new']]
hsp.loc[hsp['Type_old'] != hsp['Type_new']]
hsp.loc[hsp['Len_old'] != hsp['Len_new']]
Run Code Online (Sandbox Code Playgroud)
他们没有工作。
我的数据表hsp就像
id Type_old Type_new Len_old Len_new
1 Num Num 15 15
2 Num Char 12 12
3 Char Num 10 8
4 Num Num 4 5
5 Char Char 9 10
Run Code Online (Sandbox Code Playgroud)
有没有一种更好的方法来选择两列不成对的行。
使用补码运算符 ~
hsp.loc[~(hsp['Type_old'] == hsp['Type_new'])]
Run Code Online (Sandbox Code Playgroud)
这使:
id Type_old Type_new Len_old Len_new
1 2 Num Char 12 12
2 3 Char Num 10 8
Run Code Online (Sandbox Code Playgroud)
当布尔运算处理,补运算符是反转的便捷方式True与False
如何通过混淆==与!=比较时pd.Series
符合预期
df[['Len_old', 'Len_new']].assign(NE=df.Len_old != df.Len_new)
Len_old Len_new NE
0 15 15 False
1 12 12 False
2 10 8 True
3 4 5 True
4 9 10 True
Run Code Online (Sandbox Code Playgroud)
但是,如果该列的值之一是字符串!
df[['Len_old', 'Len_new']].assign(NE=df.Len_old.astype(str) != df.Len_new)
Len_old Len_new NE
0 15 15 True
1 12 12 True
2 10 8 True
3 4 5 True
4 9 10 True
Run Code Online (Sandbox Code Playgroud)
确保两者是相同的类型。
| 归档时间: |
|
| 查看次数: |
19786 次 |
| 最近记录: |