3 回答

TA贡献1829条经验 获得超4个赞
给定一个示例数据框df为:
a,b
1,2
2,3
3,4
4,5
您想要的是:
df['a'] = df['a'].apply(lambda x: x + 1)
返回:
a b
0 2 2
1 3 3
2 4 4
3 5 5

TA贡献1963条经验 获得超6个赞
对于更好使用的单列map(),像这样:
df = pd.DataFrame([{'a': 15, 'b': 15, 'c': 5}, {'a': 20, 'b': 10, 'c': 7}, {'a': 25, 'b': 30, 'c': 9}])
a b c
0 15 15 5
1 20 10 7
2 25 30 9
df['a'] = df['a'].map(lambda a: a / 2.)
a b c
0 7.5 15 5
1 10.0 10 7
2 12.5 30 9

TA贡献1829条经验 获得超7个赞
您根本不需要功能。您可以直接处理整个列。
示例数据:
>>> df = pd.DataFrame({'a': [100, 1000], 'b': [200, 2000], 'c': [300, 3000]})
>>> df
a b c
0 100 200 300
1 1000 2000 3000
列中所有值的一半a:
>>> df.a = df.a / 2
>>> df
a b c
0 50 200 300
1 500 2000 3000
添加回答
举报