编程语言
首页 > 编程语言> > python-如何在数据框某些行的所有列上使用熊猫应用功能

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