使用熊猫替换列中的值时出错[重复]
Posted
技术标签:
【中文标题】使用熊猫替换列中的值时出错[重复]【英文标题】:Error replacing values in a column using pandas [duplicate] 【发布时间】:2019-02-20 07:30:06 【问题描述】:我正在尝试用数字替换列中的值。这些是列中的唯一值:
['R2' '01' '02' 'C1']
所以我这样做了
data = pd.read_csv('file.csv')
df = pd.DataFrame(data)
df['rates'].apply('R2': 1, '01' : 2, '02' : 3, 'C1' : 4.get)
但是当我尝试在假定的替换后打印出 df['rates'] 时,我仍然得到相同的值:
['R2' '01' '02' 'C1']
这就是我的 file.csv 的样子
amount,id,rates,height
1400,4,R2,3
1389,6,R2,8
10000,1,01,13
【问题讨论】:
你能提供代码来制作你的系列吗?看起来应该可以了。 @piRSquared 我已经添加了 你还需要显示文件的内容。只有前几行。 我已经添加了@piRSquared 哦。我想我知道/交叉手指。 Apply 不会更改数据框。您需要重新分配给列 【参考方案1】:试试map
:
df['rates'].map('R2': 1, '01' : 2, '02' : 3, 'C1' : 4,inplace=True)
或者:
df['rates'] = df['rates'].map('R2': 1, '01' : 2, '02' : 3, 'C1' : 4)
实际上你的代码可以工作,但需要分配:
df['rates']=df['rates'].apply('R2': 1, '01' : 2, '02' : 3, 'C1' : 4.get)
【讨论】:
是一样的。它没有用。 df['rates'].map('R2': 1, '01': 2, '02': 3, 'C1': 4) 打印 df['rates'] @radioactive 编辑我的 哦,谢谢。它有效,我需要分配 @radioactive 很高兴我帮忙了,?以上是关于使用熊猫替换列中的值时出错[重复]的主要内容,如果未能解决你的问题,请参考以下文章