python-如何在数据框某些行的所有列上使用熊猫应用功能
作者:互联网
我有一个数据框.我想将某些行的所有列的值替换为默认值.有没有办法通过pandas apply功能做到这一点
这是数据框
import pandas as pd
temp=pd.DataFrame({'a':[1,2,3,4,5,6],'b':[2,3,4,5,6,7],'c':['p','q','r','s','t','u']})
mylist=['p','t']
如何将a和b列中的值替换为默认值0,其中c列的值在mylist中
有没有办法使用熊猫功能来做到这一点,避免循环
解决方法:
使用isin
创建一个布尔掩码,并使用loc将满足条件的行设置为所需的新值:
In [37]:
temp.loc[temp['c'].isin(mylist),['a','b']] = 0
temp
Out[37]:
a b c
0 0 0 p
1 2 3 q
2 3 4 r
3 4 5 s
4 0 0 t
5 6 7 u
内部isin的结果:
In [38]:
temp['c'].isin(mylist)
Out[38]:
0 True
1 False
2 False
3 False
4 True
5 False
Name: c, dtype: bool
标签:data-manipulation,python,pandas 来源: https://codeday.me/bug/20191011/1895086.html