使用Python删除csv中的行[重复]

Posted

技术标签:

【中文标题】使用Python删除csv中的行[重复]【英文标题】:Removing rows in csv using Python [duplicate] 【发布时间】:2020-05-11 00:41:02 【问题描述】:

我有一个名为 key_resp_5_rt 的列,我想在其中删除任何低于 300 毫秒的行(这是一个反应时间列)

for filename in files:
try:
    df=pd.read_csv(filename)

    df['key_resp_5.rt']

谁能告诉我下面的代码是否可以删除 rt 小于 0.3 秒的行?

    df[df['key_resp_5.rt'] > 0.3] 

当我事后检查值低于 0.3 的行仍然存在时,我不知道为什么

【问题讨论】:

key_resp_5.rt (print(df.dtypes)) 的数据类型是什么?一种猜测是它是一个字符串,而不是一个浮点数。您还必须将结果分配回原始数据框:df = df[[...]] 基本上 pandas 数据帧是不可变的,因此您需要再次分配 df df = df[df['key_resp_5.rt'] > 0.3] @nickthefreak 或者分配给一个新变量。 【参考方案1】:

您需要再次将返回值分配给相同的变量才能替换它。这不会发生在原地:

df = df[df['key_resp_5.rt'] > 0.3]

【讨论】:

以上是关于使用Python删除csv中的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

添加行时如何使python停止跳过csv文件中的行[重复]

如何删除在 Python 数据框中部分包含字符串的行 [重复]

从 HDFS 中的数据文件夹在配置单元中创建表 - 删除重复的行

如何使用python pandas删除csv中列中的精确重复项

删除CSV文件中不以python中的数字开头的所有行

从Python中的csv文件中删除第一列[重复]