我有一个普通的csv文件导入为panda df。然后我使用下面的代码选择从df中删除一些行。在
df.loc[:,"Tobacco"].fillna('No involvement', inplace=True)
df = df[df.loc[:,"Tobacco"] == 'No involvement']
Spyder显示数据框的行数从8000行下降到7000行(删除了1000行)。我查一下len(df)是7000。但是,我双击Spyder变量窗口来查看df,删除的行仍然存在,它们在df的末尾被组合在一起(索引7000到8000)。在
这使我无法继续下一部分,当我需要使用len(df)来循环df时,它不会影响这1000行,而且我不知道如何删除它们(我也尝试使用索引7000到8000删除它们)。在
我已经在anacondaspyder上用python3在Windows上、Linux上、PyCharm在Linux上、原生Python在Linux上进行了测试,得到了相同的错误。在
我也试过了
^{pr2}$编辑:我收到了这个警告消息(有时会有警告,但有时我再次运行它却没有警告)
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py:3660: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy self._update_inplace(new_data)
我不能复制这个。尝试下面的代码,看看这个代码是否也发生了同样的情况。在
相关问题 更多 >
编程相关推荐