Pandas -我们如何在一行中应用多个要求

jvidinwx  于 2023-11-15  发布在  其他
关注(0)|答案(2)|浏览(120)

这就是代码:

import pandas as pd

df = pd.read_excel("abc.xlsx", sheet_name="sheet1")
df[['b','c']] = df[['b','c']].apply(lambda x: x*100)
df[['b','c']] = df[['b','c']].apply(lambda x: round(x, 1))
df[['b','c']] = df[['b','c']].astype(str) + '%'

字符串
我得到的预期结果如下:

a               b               c
0   Savings         0.8%            4.5%
1   Interest rate   50.5%           65.0%
2   Current         1.9%            4.0%
3   Other           4.3%            5.5%


但我只是想知道我是否可以在一行中有最后3行,而不必一次又一次地提到列名。谢谢

zlhcx6iw

zlhcx6iw1#

在这种情况下,不需要调用df.apply,使用带有单个表达式的reassignment:

df[['b', 'c']] = df[['b', 'c']].mul(100).round(1).astype(str) + '%'

字符串

aiazj4mn

aiazj4mn2#

当然。我只是觉得你考虑得不够认真。

df[['b','c']] = df[['b','c']].apply( lambda x: str(round(x*100,1))+'%' )

字符串

相关问题