【发布时间】:2021-09-16 15:32:49
【问题描述】:
| addition | add-revised |
|---|---|
| 6 insertions(+) | 6 |
| NaN | 0 |
| 8 insertions(+) | 8 |
从数据框的“addition”列中,我创建了“add-revised”列。
df['add-revised'] = df.addition.str.extract('(\d+)')
df['add-revised'] = df['add-revised'].fillna(0)
当我尝试这样做时
df_new['add-revised'].mean()
它给了我以下错误
TypeError: unsupported operand type(s) for +: 'int' and 'str'
我试图解决这个问题
df_new['add-revised'].to_numeric()
它给了我以下错误
AttributeError: 'Series' object has no attribute 'to_numeric'
【问题讨论】:
-
请发布一个完全运行的脚本,这样其他人就不必在他们的答案中做这部分。它只是一个导入和创建数据框。
-
我想你会得到
NameError: name 'df_new' is not defined。那个变量是什么?无论如何,to_numeric是一个函数。你可以做df['add-revised'] = pd.to_numeric(df['add-revised'])。atype是一种方法,你也可以使用它。 -
df['add-revised'].astype(int).mean()也许这行得通。另外,我们看不到任何 df_new,只有 df。