使用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 数据框中部分包含字符串的行 [重复]
从 HDFS 中的数据文件夹在配置单元中创建表 - 删除重复的行