Pythonデータ分析のブロックごとにテキストを読み取る実現
背景
「Pythonを用いたデータ解析」は、第6章のデータローディング動作
テストされた結果、その本質はテキストをいくつかのブロックに分割し、
サンプルコード
文中のコード例の分析は以下の通りである。
まず、例データex6.csvファイルは全部で10000行のデータがあります。
次に、各
各Seriesの
最後に、totをorderに並べ替えて、各keyの値がcsvファイルに出現する回数を降順に求める。
ここではSeriesオブジェクトのadd操作を使用して、二つのSeriesに対してadd操作を実行します。つまり同じkey:keyと同じ記録の値を統合して累積します。keyが存在しない記録設定は0にチャージします。
出力結果は:
ここでPythonデータ分析のブロックごとにテキストを読み取るという実現された文章を紹介します。これに関連してPythonはブロックごとにテキストの内容を読み取ります。以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。
「Pythonを用いたデータ解析」は、第6章のデータローディング動作
read_xxx
であり、chunksize
のパラメータがブロック毎にロードされてもよい。テストされた結果、その本質はテキストをいくつかのブロックに分割し、
chunksize
行のデータを処理するたびに、最終的にTextParser
オブジェクトに戻り、オブジェクトを繰り返して巡回し、ブロックごとの統合処理を完了することができる。サンプルコード
文中のコード例の分析は以下の通りである。
from pandas import DataFrame,Series
import pandas as pd
path='D:/AStudy2018/pydata-book-2nd-edition/examples/ex6.csv'
# chunksize return TextParser
chunker=pd.read_csv(path,chunksize=1000)
# an array of Series
tot=Series([])
chunkercount=0
for piece in chunker:
print '------------piece[key] value_counts start-----------'
#piece is a DataFrame,lenth is chunksize=1000,and piece[key] is a Series ,key is int ,value is the key column
print piece['key'].value_counts()
print '------------piece[key] value_counts end-------------'
#piece[key] value_counts is a Series ,key is the key column, and value is the key count
tot=tot.add(piece['key'].value_counts(),fill_value=0)
chunkercount+=1
#last order the series
tot=tot.order(ascending=False)
print chunkercount
print '--------------'
プロセス分析まず、例データex6.csvファイルは全部で10000行のデータがあります。
chunksize=1000
を使用した後、read_csv
はTextParser
オブジェクトに戻ります。このオブジェクトは全部で10個の要素があり、遍歴中にchunkercount
を印刷して検証されました。次に、各
piece
オブジェクトはDataFrame
オブジェクトであり、piece['key']
はSeries
オブジェクトであり、デフォルトは数値インデックスであり、値はcsvファイルのkey列の値であり、各文字列である。各Seriesの
value_counts
をSeriesとして、前回の統計tot
の結果とadd
で動作して、最終的にすべてのブロックデータの中の各keyの累積値を得る。最後に、totをorderに並べ替えて、各keyの値がcsvファイルに出現する回数を降順に求める。
ここではSeriesオブジェクトのadd操作を使用して、二つのSeriesに対してadd操作を実行します。つまり同じkey:keyと同じ記録の値を統合して累積します。keyが存在しない記録設定は0にチャージします。
出力結果は:
ここでPythonデータ分析のブロックごとにテキストを読み取るという実現された文章を紹介します。これに関連してPythonはブロックごとにテキストの内容を読み取ります。以前の文章を検索したり、次の関連記事を見たりしてください。これからもよろしくお願いします。