我有一个包含多列的大型数据框(示例如下所示)。我想通过将它的值除以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)
答案 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
,并且需要进一步清理数据。