【发布时间】:2022-01-09 01:25:27
【问题描述】:
all_data = pd.concat([train_data, test_data])
average = all_data.Age.median()
print('Average Age: {0}'.format(average))
train_data.fillna(value= {'Age' : average, inplace : True})
test_data.fillna(value= {'Age' : average, inplace : True})
错误:
TypeError Traceback (most recent call
last) <ipython-input-42-e465cf5beb42> in <module>()
1 all_data = pd.concat([train_data, test_data])
----> 2 average = all_data.Age.median().values()
3 print('Average Age: {0}'.format(average))
4 train_data.fillna(value= {'Age' : average, inplace : True})
5 test_data.fillna(value= {'Age' : average, inplace : True})
3 frames /usr/local/lib/python3.7/dist-packages/pandas/core/nanops.py
in nanmedian(values, axis, skipna, mask)
611 if not is_float_dtype(values.dtype):
612 try:
--> 613 values = values.astype("f8")
614 except ValueError as err:
615 # e.g. "could not convert string to float: 'a'"
TypeError: float() argument must be a string or a number, not
'SimpleImputer'
您好,我对这种情况感到困惑,即使使用 scikit-learn 也显示相同。请帮助我并提前感谢!
【问题讨论】:
-
all_data.Age.median() 应该是一个标量,我会去掉它右边的 .values() 。另外,请确保年龄列上只有数字。
标签: python scikit-learn sklearn-pandas