我正在尝试删除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)
这是我遇到AttributeError的地方。
不确定应该如何删除数据框的前24行。
(这全部在我的本地机器上使用Python 3和Jupyter笔记本完成)
df = df.iloc[24:]
- Arda Arslandf = pd.DataFrame(StandardScaler().fit_transform(df))
。 - harvpanpd.read_csv
中传递name
参数。 此外,df.mean()
返回一个系列,因此我认为df.fillna(df.mean())
不会产生您期望的结果。而且,在执行df.fillna()
之后进行df.dropna()
有点危险 - 您不应该期望丢失行。最后,如果没有inplace=True
,则不会使用这些命令实际更改df。 - lhay86