forestdata.loc[forestdata.index[-1]] = df.iloc[-1] 执行后数据都变成 NAN
时间: 2023-12-07 13:04:04 浏览: 165
数据表转化成树形结构
4星 · 用户满意度95%
如果执行`forestdata.loc[forestdata.index[-1]] = df.iloc[-1]`后,`forestdata`的数据都变成了`NaN`,这可能是因为`df`和`forestdata`的列名不匹配导致的。可以使用`pandas.DataFrame.columns`属性查看两个数据框的列名是否一致。
如果列名不一致,可以使用`pandas.DataFrame.rename`方法修改`df`的列名,使其与`forestdata`的列名一致。具体实现代码如下:
```
df = pd.DataFrame(y_hat3)
df = df.rename(columns=dict(zip(df.columns, forestdata.columns)))
forestdata.loc[forestdata.index[-1]] = df.iloc[-1]
```
其中,`dict(zip(df.columns, forestdata.columns))`可以构造一个字典,将`df`的列名映射为`forestdata`的列名,`df.rename`将`df`的列名修改为`forestdata`的列名。这样就可以保证`df`和`forestdata`的列名一致,执行`forestdata.loc[forestdata.index[-1]] = df.iloc[-1]`后不会出现数据全部变成`NaN`的情况。
阅读全文