时间:2022-10-21 09:45:21 | 栏目:Python代码 | 点击:次
前言
有些人看到这个问题觉得不是问题,是嘛,不就是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)
问题得到了解决
总结