【发布时间】:2019-08-22 16:14:15
【问题描述】:
我有一个这样的数据框:
a b
thing1 1.00
thing2 2.71
a 列是字符串,b 列是 float64,我正在尝试将帧转换为如果 b 列为 1,则返回 1,如果 b 列中的值大于 1,则返回 2.71/6,2.71R24, 1
a b c
thing1 1 1
thing2 2.71 2.71/6,2.71R24,1
我试过这样的功能
def convert (row):
if row['b'] == 1.00:
return '1'
else:
return df['b'].astype(str)+'/6,'+df['b'].astype(str)+'R24,1'
df['c'] = df.apply(lambda row: convert (row), axis=1)
我收到以下错误:
ValueError: Wrong number of items passed 15, placement implies 1
我似乎无法绕过这个错误?
【问题讨论】:
标签: pandas error-handling type-conversion concatenation