Pandas ValueError:数据帧中的项数错误

Pandas ValueError:数据帧中的项数错误,pandas,valueerror,Pandas,Valueerror,我在运行以下函数时出错-ValueError:传递的项数错误6,位置意味着1 def encoding(df, column_name: str): if column_name in df.columns: dr = df[column_name].values df['Week Day'] = pd.to_datetime(dr).weekday df['Month'] = pd.DatetimeIndex(df[column_name]).month df[

我在运行以下函数时出错-ValueError:传递的项数错误6,位置意味着1

def encoding(df, column_name: str):
  if column_name in df.columns:
    dr = df[column_name].values
    df['Week Day'] = pd.to_datetime(dr).weekday
    df['Month'] = pd.DatetimeIndex(df[column_name]).month
  df['feature_week_day'] = encoding_1(df,'Week Day',7)
  df['feature_month'] = encoding_1(df,'Month', 12)
  return df

def encoding_1(df, column_name: str, period: int):
  if column_name in df.columns:
    df['sine_' + column_name] = np.sin(2 * np.pi * df[column_name] / period)
    df['cosine_' + column_name] = np.cos(2 * np.pi * df[column_name] / period)
  return df
我使用以下方法调用这些函数:

df = pd.DataFrame({'Id':['ABC123', 'ABC124', 'ABC125', 'ABC126'], 'Date':['2008-01-01','2008-01-02','2020-02-01', '20210419']})
result = encoding(df,'Date')

不确定这里出了什么问题。

函数
encoding\u 1
返回整个数据帧,并且您正在将其分配给原始数据帧上的一列。替换:

# ...
df['feature_week_day'] = encoding_1(df,'Week Day',7)
df['feature_month'] = encoding_1(df,'Month', 12)
# ...
与:


实际上,代码中有两个错误,第一个是关键错误,第二个是值error@AnuragDabas对不起,你能解释一下吗?
# ...
df = encoding_1(df,'Week Day',7)
df = encoding_1(df,'Month', 12)
# ...