【发布时间】:2018-08-18 20:56:25
【问题描述】:
读取 CSV 数据文件后:
import pandas as pd
df = pd.read_csv('data.csv')
print df.shape
我得到 99 行(索引)长的 DataFrame:
(99, 2)
为了清理 DataFrame,我继续应用 dropna() 方法,将其减少到 33 行:
df = df.dropna()
print df.shape
哪个打印:
(33, 2)
现在,当我迭代列时,它会打印出所有 99 行,就像它们没有被删除一样:
for index, value in df['column1'].iteritems():
print index
这给了我这个:
0
1
2
.
.
.
97
98
99
看来dropna() 只是将数据“隐藏”了。当我迭代 DataFrame 时,隐藏的数据会返回。如何确保删除的数据从 DataFrame 中删除而不是被隐藏?
【问题讨论】:
-
它保留了索引行标签,如果你想重置索引然后调用
reset_index,你会发现你的索引在dropna之后缺少一些行值 -
你摇滚!感谢您的提示!
-
请将其作为答案发布,以便我们评分。
-
@EdChum 是的,请这样做。否则像我这样的笨蛋会去你的位置发帖,否认你应得的信誉。