欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python数据处理之如何选取csv文件中某几行的数据

程序员文章站 2023-02-17 15:30:54
前言 有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因为如果在面临亿万级别的大规模...

前言

有些人看到这个问题觉得不是问题,是嘛,不就是df.col[]函数嘛,其实忽略了一个重点,那就是我们要省去把csv文件全部读取这个过程,因为如果在面临亿万级别的大规模数据,得到的结果就是boom,boom,boom。

我们要使用一下现成的函数里面的参数nrows,和skiprows,一个代表你要读几行,一个代表你从哪开始读,这就可以了,比如从第3行读取4个

示例代码

import pandas as pd
df = pd.dataframe({'a':[1,2,3,4,5,6,7,8,9],'b':[22,33,44,55,66,77,88,99,10]})
df.to_csv('test.csv')
dt = pd.read_csv('test.csv',skiprows=5,nrows=3)
 
print(dt)
 
 
out:
 4 5 66
0 5 6 77
1 6 7 88
2 7 8 99
3 8 9 10

就可以了,不过这个列头不知道是怎么回事,顺便如果想根据列值找index,可以参考下面的

然后

df = pd.dataframe({'boolcol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]},
  index=[10,20,30,40,50])
print(df)
a = df[(df.boolcol==3)&(df.attr==22)].index.tolist()
print(a)
 
 
df = pd.dataframe({'boolcol': [1, 2, 3, 3, 4],'attr': [22, 33, 22, 44, 66]},
  index=[10,20,30,40,50])
print(df)
a = df[(df.boolcol==3)&(df.attr==22)].index.tolist()
print(a)

问题得到了解决

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。