AttributeError: 'numpy.ndarray' object has no attribute 'drop'
AttributeError: 'numpy.ndarray' object has no attribute 'drop'
我正在尝试删除 pandas 数据框的前 24 行。
通过网络搜索,我相信最好的方法是使用 pandas 'drop' 函数。
但是,每当我尝试使用它时,都会收到错误消息:
AttributeError: 'numpy.ndarray' object has no attribute 'drop'
这就是我创建 pandas 数据框的方式:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
%matplotlib inline
import os
cwd = os.getcwd()
df = pd.read_csv('C:/Users/.../Datasets/Weather/temperature4.csv')
然后:
df.fillna(df.mean())
df.dropna()
我的数据框的头部看起来像这样:
然后:
df = StandardScaler().fit_transform(df)
df.drop(df.index[0, 23], inplace=True)
这是我得到属性错误的地方。
不确定我应该如何删除数据框的前 24 行。
(这一切都是在我本地机器上的 Jupyter notebook 上使用 Python 3 完成的)
问题出在下面一行:
df = StandardScaler().fit_transform(df)
它 returns 一个 numpy 数组 (see docs),它没有 drop 函数。
您必须先将其转换为 pd.DataFrame
!
new_df = pd.DataFrame(StandardScaler().fit_transform(df), columns=df.columns, index=df.index)
我正在尝试删除 pandas 数据框的前 24 行。
通过网络搜索,我相信最好的方法是使用 pandas 'drop' 函数。
但是,每当我尝试使用它时,都会收到错误消息:
AttributeError: 'numpy.ndarray' object has no attribute 'drop'
这就是我创建 pandas 数据框的方式:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
%matplotlib inline
import os
cwd = os.getcwd()
df = pd.read_csv('C:/Users/.../Datasets/Weather/temperature4.csv')
然后:
df.fillna(df.mean())
df.dropna()
我的数据框的头部看起来像这样:
然后:
df = StandardScaler().fit_transform(df)
df.drop(df.index[0, 23], inplace=True)
这是我得到属性错误的地方。
不确定我应该如何删除数据框的前 24 行。
(这一切都是在我本地机器上的 Jupyter notebook 上使用 Python 3 完成的)
问题出在下面一行:
df = StandardScaler().fit_transform(df)
它 returns 一个 numpy 数组 (see docs),它没有 drop 函数。
您必须先将其转换为 pd.DataFrame
!
new_df = pd.DataFrame(StandardScaler().fit_transform(df), columns=df.columns, index=df.index)