pandas读取前几行数据_csv – 读取大pandas数据帧前几行的方法
是否有內置的方式來使用read_csv只讀文件的前n行,而不知道前面提到的行的長度?我有一個大文件需要很長時間閱讀,偶爾只想使用第一個,比如說20行來獲取它的樣本(并且不喜歡加載完整的東西并拿走它的頭)。
如果我知道我可以做的總行數,像footer_lines = total_lines – n,并將其傳遞給skipfooter關鍵字arg。我目前的解決方案是手動抓取前n行與python和StringIO它到大pandas:
import pandas as pd
from StringIO import StringIO
n = 20
with open('big_file.csv', 'r') as f:
head = ''.join(f.readlines(n))
df = pd.read_csv(StringIO(head))
這不是那么糟糕,但是還有一個更簡潔的“pandasic”(?)的方式來做關鍵字或者什么?
我想你可以使用nrows參數。從
the docs:
nrows : int, default None
Number of rows of file to read. Useful for reading pieces of large files
這似乎工作。使用一個標準的大型測試文件(988504479字節,5344499行):
In [1]: import pandas as pd
In [2]: time z = pd.read_csv("P00000001-ALL.csv", nrows=20)
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00 s
In [3]: len(z)
Out[3]: 20
In [4]: time z = pd.read_csv("P00000001-ALL.csv")
CPU times: user 27.63 s, sys: 1.92 s, total: 29.55 s
Wall time: 30.23 s
總結
以上是生活随笔為你收集整理的pandas读取前几行数据_csv – 读取大pandas数据帧前几行的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定义一个属性_CocosCreator脚
- 下一篇: 动态更改echarts 高度_结合Ech