【发布时间】:2020-07-20 02:41:11
【问题描述】:
在使用pandas 读取 csv 时,是否有一种简单的方法可以忽略所有偶数/奇数行?
我知道 pd.read_csv 中的 skiprows 参数,但为此我需要提前知道行数。
【问题讨论】:
-
这能回答你的问题吗? Pandas every nth row
-
@Chris 下面的答案正是我想要的
在使用pandas 读取 csv 时,是否有一种简单的方法可以忽略所有偶数/奇数行?
我知道 pd.read_csv 中的 skiprows 参数,但为此我需要提前知道行数。
【问题讨论】:
阅读后可能的解决方案是:
import pandas as pd
df = pd.read_csv(some_path)
# remove odd rows:
df = df.iloc[::2]
# remove even rows:
df = df.iloc[1::2]
【讨论】:
pd.read_csv skiprows 参数接受可调用对象,因此您可以使用 lambda 函数。例如:
df = pd.read_csv(some_path, skiprows=lambda x: x%2 == 0)
【讨论】: