Pandas:更新列的值

时间:2017-02-07 21:18:05

标签: python-3.x pandas

我有一个包含多列的大型数据框(示例如下所示)。我想通过将它的值除以1000来更新一个特定(填充列)列的值。

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>

我试过了 City Population Paris 23456 Lisbon 123466 Madrid 1254 Pekin 86648

df['Population'].apply(lambda x: int(str(x))/1000)

两者都给我错误

df['Population'].apply(lambda x: int(x)/1000)

1 个答案:

答案 0 :(得分:1)

如果您的DataFrame看起来确实如此,那么第二个示例应该可以正常工作(甚至不需要int):

In [16]: df
Out[16]: 
     City  Population
0   Paris       23456
1  Lisbon      123466
2  Madrid        1254
3   Pekin       86648

In [17]: df['Population'].apply(lambda x: x/1000)
Out[17]: 
0     23.456
1    123.466
2      1.254
3     86.648
Name: Population, dtype: float64

In [18]: df['Population']/1000
Out[18]: 
0     23.456
1    123.466
2      1.254
3     86.648

但是,从错误中看,您'...'中的某个地方似乎有一个不可解析的字符串Series,并且需要进一步清理数据。