AttributeError:“ numpy.ndarray”对象没有属性“ drop”

时间:2018-07-11 19:45:54

标签: python pandas delete-row attributeerror

我正在尝试删除熊猫数据框的前24行。

在网络上搜索使我相信,最好的方法是使用熊猫的“放置”功能。

但是,每当我尝试使用它时,都会收到错误消息:

AttributeError: 'numpy.ndarray' object has no attribute 'drop'

这是我创建熊猫数据框的方式:

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()

我的数据框的头部如下所示: enter image description here

然后:

df = StandardScaler().fit_transform(df)
df.drop(df.index[0, 23], inplace=True)

这是我收到attributeerror的地方。

不确定如何删除数据框的前24行。

(这全部在本地计算机上的Jupyter笔记本上使用Python 3完成)

1 个答案:

答案 0 :(得分:6)

问题出在以下几行:

df = StandardScaler().fit_transform(df) 

它返回一个numpy数组(see docs),该数组没有放置函数。 您必须先将其转换为pd.DataFrame

new_df = pd.DataFrame(StandardScaler().fit_transform(df), columns=df.columns, index=df.index)