Giu*_*ppe 0 python numpy pandas data-science
如何每 2 行从 CSV 文件中获取数据?
例如,如果我有一个看起来像这样的文件
0 1
0 23 34
1 45 45
2 78 16
3 110 78
4 48 14
5 76 23
6 55 33
7 12 13
8 18 76
Run Code Online (Sandbox Code Playgroud)
如何迭代和提取每第二行以获得类似的内容并附加到新的数据帧中?
0 23 34
2 78 16
4 48 14
6 55 33
8 18 76
Run Code Online (Sandbox Code Playgroud)
谢谢!
使用skiprows参数read_csv:
保持偶数行:
pd.read_csv('file.csv', skiprows=lambda x: (x != 0) and not x % 2)
Run Code Online (Sandbox Code Playgroud)
要保留奇数行:
pd.read_csv('file.csv', skiprows=lambda x: x % 2)
Run Code Online (Sandbox Code Playgroud)
请注意,标头包含在 中skiprows,这就是为什么x != 0在偶数示例中需要 。
例子:
In [1]: import pandas as pd
...: from io import StringIO
...:
...: data = """A,B
...: a,1
...: b,2
...: c,3
...: d,4
...: e,5
...: """
In [2]: pd.read_csv(StringIO(data))
Out[2]:
A B
0 a 1
1 b 2
2 c 3
3 d 4
4 e 5
In [3]: pd.read_csv(StringIO(data), skiprows=lambda x: (x != 0) and not x % 2)
Out[3]:
A B
0 a 1
1 c 3
2 e 5
In [4]: pd.read_csv(StringIO(data), skiprows=lambda x: x % 2)
Out[4]:
A B
0 b 2
1 d 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2168 次 |
| 最近记录: |