私は60個の巨大なcsvファイルを持っています(それぞれ約2.5GB)。それぞれは1ヶ月のデータをカバーしており、私が興味を持っている「距離」の列があります。それぞれには約1400万行があります。パンダを使用して大規模なCSVファイルで平均を見つける
私は毎月の平均距離を見つける必要があります。
これは私がこれまで持っているものです。
import pandas as pd
for x in range(1, 60):
df=pd.read_csv(r'x.csv', error_bad_lines=False, chunksize=100000)
for chunk in df:
print df["distance"].mean()
まず私は「印刷」は良いアイデアではありません知っています。私は推測する変数に平均を割り当てる必要があります。第二に、私が必要とするのは、各チャンクだけでなく、データフレーム全体の平均です。
しかし、私はそれを行う方法がわかりません。私は、各チャンクの平均を求め、すべてのチャンクの単純平均を取ることを考えていました。それは、チャンクサイズがすべてのチャンクで等しい限り、データフレームの平均を与えるはずです。
第3に、私は60個のcsvファイルすべてに対してこれを行う必要があります。上記のコードで私のループは正しいですか?私のファイルの名前は1.csv〜60.csvです。
距離と行数の総計を記録します。次に分割する。またスピードが問題であれば、このようなものを検討することを検討してください:(http://stackoverflow.com/questions/3122442/how-do-i-calculate-the-mean-of-a-column) –
あなたがしたいジョブはPythonでのみ、あるいはsedやawkのようなGnu/Linuxツールを使うことができますか? –
申し訳ありませんが、sedとawkに精通していません。可能であれば、Pythonを好むだろう。 – PythonGuy