Python pandas Dataframe来自csv的第一行和最后一行

Python pandas Dataframe来自csv的第一行和最后一行,第1张

概述全部 – 我期待从一个非常大的csv的第一行和最后一行创建一个pandas DataFrame.本练习的目的是能够轻松地从这些csv文件中的第一个和最后一个条目中获取一些属性.我使用以下方法抓住csv的第一行没有问题: pd.read_csv(filename, nrows=1) 我也可以通过各种方式抓取文本文件的最后一行,例如: with open(filename) as f: las 全部 –

我期待从一个非常大的csv的第一行和最后一行创建一个pandas DataFrame.本练习的目的是能够轻松地从这些csv文件中的第一个和最后一个条目中获取一些属性.我使用以下方法抓住csv的第一行没有问题:

pd.read_csv(filename,nrows=1)

我也可以通过各种方式抓取文本文件的最后一行,例如:

with open(filename) as f:    last_line = f.readlines()[-1]

但是,将这两个东西放到一个DataFrame中会让我感到厌恶.有关如何最好地实现这一目标的任何见解?

编辑注意:我正在尝试完成此任务,而不是首先将所有数据加载到单个DataFrame中,因为我正在处理相当大(> 15MM行)的csv文件.

谢谢!

解决方法 只需使用头部和尾部和concat.您甚至可以调整行数.

import pandas as pddf = pd.read_csv("flu.csv")top = df.head(1)bottom = df.tail(1)concatenated = pd.concat([top,bottom])print concatenated

结果:

Date  Cases0      9/1/2014     45121  12/31/2014     97

调整头部和尾部从顶部开始5行,从底部调整10行…

Date  Cases0      9/1/2014     451      9/2/2014    1042      9/3/2014     473      9/4/2014    1084      9/5/2014     49112  12/22/2014     30113  12/23/2014     81114  12/24/2014     99115  12/25/2014     85116  12/26/2014     55117  12/27/2014     91118  12/28/2014     68119  12/29/2014    109120  12/30/2014     55121  12/31/2014     97

如果您不想将整个CSV文件作为数据框加载,可以使用的一种可能方法是将它们单独处理为CSV.以下代码与您的方法类似.

import pandas as pdimport csvtop = pd.read_csv("flu.csv",nrows=1)headers = top.columns.valueswith open("flu.csv","r") as f,open("flu2.csv","w") as g:    last_line = f.readlines()[-1].strip().split(",")    c = csv.writer(g)    c.writerow(headers)    c.writerow(last_line)bottom = pd.read_csv("flu2.csv")concatenated = pd.concat([top,bottom])concatenated.reset_index(inplace=True,drop=True)print concatenated

除索引外,结果相同.测试了一百万行,并在大约一秒钟内处理.

Date  Cases0   9/1/2014     451  7/25/4885     99[Finished in 0.9s]

它如何扩展到1500万行,也许这就是你现在的球赛.
所以我决定对15,728,626行进行测试,结果看起来不错.

Date  Cases0   9/1/2014     451  7/25/4885     99[Finished in 3.3s]
总结

以上是内存溢出为你收集整理的Python pandas Dataframe来自csv的第一行和最后一行全部内容,希望文章能够帮你解决Python pandas Dataframe来自csv的第一行和最后一行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1194164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存