pandas apply()函数传参,与解决TypeError: xxxx() takes 2 positional arguments but 3 were given报错

解决方法

合理的做法如下:

import pandas as pd


def add_symbol(series: pd.Series, symbol): # symbol 为需要的参数
    series['列名'] += symbol
    return series


list_data = ['a', 'b', 'c', ]
df = pd.DataFrame(data=list_data, columns=['列名'])
df = df.apply(add_symbol, axis=1, args=("--",)) # 这里把 "--" 作为 symbol 参数

问题解析

apply()中如果 args参数没有写最后的,就会报错!!!!

比如是如下方法会报错:

import pandas as pd


def add_symbol(series: pd.Series, symbol): # symbol 为需要的参数
    series['列名'] += symbol
    return series


list_data = ['a', 'b', 'c', ]
df = pd.DataFrame(data=list_data, columns=['列名'])
df = df.apply(add_symbol, axis=1, args=("--")) # 这里把 "--" 作为 symbol 参数

你可能感兴趣的:(数据处理,pandas)