Python 转换器参数取决于另一列值

Python 转换器参数取决于另一列值,python,pandas,Python,Pandas,在我的脚本中,我想读取一些csv文件,同时转换输入值。但一列的值取决于另一列的值(此列不进行转换)。有没有办法在读取csv时实现这一点,或者在读取csv后我必须更改它 file.csv date total percentage 03/25/2017 100 1% 04/15/2016 200 6% 预期产量 date total success 03/25/2017 100 1

在我的脚本中,我想读取一些csv文件,同时转换输入值。但一列的值取决于另一列的值(此列不进行转换)。有没有办法在读取csv时实现这一点,或者在读取csv后我必须更改它

file.csv

date        total        percentage
03/25/2017  100          1%
04/15/2016  200          6%
预期产量

date        total        success
03/25/2017  100          1
04/15/2016  200          12

去掉字符串
%
并转换为浮点,然后进行乘法:

df['success']=df.total*df.percentage.str.rstrip('%').astype('float') / 100.0
print(df)

         date  total percentage  success
0  03/25/2017    100         1%      1.0
1  04/15/2016    200         6%     12.0
要在读取文件时将其从字符串转换为浮点值,请使用以下命令:


您能提供预期的输出吗?第二个解决方案不能计算正确的成功率,因为它只是删除%并将其除以100。它应该使用“总计”列来计算正确的成功率。@myslak这只是为了转换,post这只是乘法。:)<代码> df.t**df.%s/代码> @ MySLAK,如果此解决方案解决了您的问题,请考虑将其标记为
df['success']=df.total*df.percentage.str.rstrip('%').astype('float') / 100.0
print(df)

         date  total percentage  success
0  03/25/2017    100         1%      1.0
1  04/15/2016    200         6%     12.0
def p2f(x):
    return float(x.strip('%'))/100

 pd.read_csv(file, sep='whatever',converters={'percentage':p2f})