我有这样一个 Dataframe :
name: ... line:
bobo ... 10
amy ... 5
amanda ... 15
我想创建一个可用于多个 Dataframe 的函数,该函数根据函数中的计算向 Dataframe 添加新列。这就是我试图对函数所做的,但它不起作用。
def check(df, lines):
for line in lines:
df['big_line'] = (line*5, line)
df['small_line'] = line*2
df['massive_line'] = line*10
df['line_word'] = line + ' line'
return df
本质上,我试图让它返回的是如下所示的 Dataframe :
函数调用:
def check(df, df['line'])
返回:
name: ... line: big_line: small_line: massive_line: line_word:
bobo ... 10 (50, 10) 20 100 10 line
amy ... 5 (25, 5) 10 50 5 line
amanda ... 15 ...............................................
如果有人能给我指出正确的方向那就太好了。谢谢
我在使用big_line时出错,因为它是元组类型的对象。
3条答案
按热度按时间bxfogqkk1#
将序列指定给序列对象。序列只有2个元素,但 Dataframe 有2行以上。此答案可以帮助您理解错误:
输出:
编辑:根据您的评论,如果您想更新原始 Dataframe 的每一行,那么我建议修改您的原始函数,以便索引每一行号,使用
loc
方法:输出:
kyks70gy2#
使用计算每行输出的函数
输入:
您可以定义一个返回序列的函数:
然后将其应用于行:
输出:
使用向量运算
oymdgrw73#
如果您只需要一个字符串,可以尝试:
如果需要是元组,则在创建字符串后包括: