2017年10月26日木曜日

pandas I/Oインターフェイス

pandas ⇔ CSV

CSVファイル


#'csv/20151963_3.csv'

日付,日目,順位,No.,名前,パー数,アンダーパー回数,アンダー総数,オーバーパー回数,オーバー総数
20150515,3,1,1003636,イ ボミ,12,6,6,0,0
20150515,3,2,1000541,大山 志保,12,5,5,1,1
20150515,3,3,1003634,テレサ・ルー,14,3,3,1,1
20150515,3,4,1000642,上田 桃子,12,5,5,1,1
20150515,3,5,1004236,ジョン ジェウン,11,3,3,5,4
20150515,3,6T,1000770,酒井 美紀,13,4,4,1,1
20150515,3,6T,1000921,申 ジエ,15,3,3,0,0
20150515,3,6T,1002910,柏原 明日架,12,4,4,2,2
  

    

CSVファイルの読み込み


import pandas as P
pd = P.read_csv('csv/20151963_3.csv',sep=',')
    

CSVファイルを読んだpandasのdataFrameの中身


pd
Out[12]: 
          日付  日目   順位      No.          名前  パー数  アンダーパー回数  アンダー総数  オーバーパー回数  \
0   20150515   3    1  1003636        イ ボミ   12         6       6         0   
1   20150515   3    2  1000541       大山 志保   12         5       5         1   
2   20150515   3    3  1003634      テレサ・ルー   14         3       3         1   
3   20150515   3    4  1000642       上田 桃子   12         5       5         1   
4   20150515   3    5  1004236  ジョン ジェウン   11         3       3         5   
5   20150515   3   6T  1000770       酒井 美紀   13         4       4         1   
6   20150515   3   6T  1000921        申 ジエ   15         3       3         0   
7   20150515   3   6T  1002910      柏原 明日架   12         4       4         2   
    

CSVファイルの書込み


pd.to_csv('csv/test.csv',sep=',',header=False,index=False)
    

CSVファイル


#'csv/test.csv'

20150515,3,1,1003636,イ ボミ,12,6,6,0,0
20150515,3,2,1000541,大山 志保,12,5,5,1,1
20150515,3,3,1003634,テレサ・ルー,14,3,3,1,1
20150515,3,4,1000642,上田 桃子,12,5,5,1,1
20150515,3,5,1004236,ジョン ジェウン,11,3,3,5,4
20150515,3,6T,1000770,酒井 美紀,13,4,4,1,1
20150515,3,6T,1000921,申 ジエ,15,3,3,0,0
20150515,3,6T,1002910,柏原 明日架,12,4,4,2,2
20150515,3,9T,1000820,葭葉 ルミ,14,4,4,0,0
20150515,3,9T,1000912,全 美貞,12,5,4,3,2
20150515,3,9T,1003675,フェービー・ヤオ,11,4,4,3,3
  

    

pandas(dataFrame) ⇔ LIST

dataFrameからListへの変換


L = pd.values.tolist()

L
Out[17]: 
[[20150515, 3, '1', 1003636, 'イ ボミ', 12, 6, 6, 0, 0],
 [20150515, 3, '2', 1000541, '大山 志保', 12, 5, 5, 1, 1],
 [20150515, 3, '3', 1003634, 'テレサ・ルー', 14, 3, 3, 1, 1],
 [20150515, 3, '4', 1000642, '上田 桃子', 12, 5, 5, 1, 1],
 [20150515, 3, '5', 1004236, 'ジョン ジェウン', 11, 3, 3, 5, 4],
 [20150515, 3, '6T', 1000770, '酒井 美紀', 13, 4, 4, 1, 1],
 [20150515, 3, '6T', 1000921, '申 ジエ', 15, 3, 3, 0, 0],
 [20150515, 3, '6T', 1002910, '柏原 明日架', 12, 4, 4, 2, 2],
 [20150515, 3, '9T', 1000820, '葭葉 ルミ', 14, 4, 4, 0, 0],
 [20150515, 3, '9T', 1000912, '全 美貞', 12, 5, 4, 3, 2],
 [20150515, 3, '9T', 1003675, 'フェービー・ヤオ', 11, 4, 4, 3, 3],
    ・
    ・
 [20150515, 3, '56', 1000708, '三塚 優子', 10, 2, 2, 8, 6]]
     

ListをdataFrameに変換


labels = ['日付','日目','順位','No.','名前','パー数','アンダーパー回数','アンダー総数','オーバーパー回数','オーバー総数']
df = P.DataFrame.from_records(L, columns=labels)
    


df
Out[35]: 
          日付  日目   順位      No.          名前  パー数  アンダーパー回数  アンダー総数  オーバーパー回数  \
0   20150515   3    1  1003636        イ ボミ   12         6       6         0   
1   20150515   3    2  1000541       大山 志保   12         5       5         1   
2   20150515   3    3  1003634      テレサ・ルー   14         3       3         1   
3   20150515   3    4  1000642       上田 桃子   12         5       5         1   
4   20150515   3    5  1004236  ジョン ジェウン   11         3       3         5   
5   20150515   3   6T  1000770       酒井 美紀   13         4       4         1   
6   20150515   3   6T  1000921        申 ジエ   15         3       3         0   
7   20150515   3   6T  1002910      柏原 明日架   12         4       4         2   
    

pandas(dataFrame)からHTML(table)への出力


html = df.to_html()

type(html)
Out[24]: str

html
Out[25]: 
<table border="1" class="dataframe">\n  
  <thead>\n    
    <tr style="text-align: right;">\n
      <th></th>\n
      <th>日付</th>\n
      <th>日目</th>\n
      <th>順位</th>\n      
    



pandas(dataFrame)のデータを抽出


df.at[7,'名前']
Out[33]: '柏原 明日架'

df.loc[7,'名前']
Out[35]: '柏原 明日架'

df.loc[0:5,'名前']
Out[36]: 
0          イ ボミ
1         大山 志保
2        テレサ・ルー
3         上田 桃子
4    ジョン ジェウン
5         酒井 美紀
Name: 名前, dtype: object

df.loc[0:5,'日付':'名前']
Out[37]: 
         日付  日目  順位      No.          名前
0  20150515   3   1  1003636        イ ボミ
1  20150515   3   2  1000541       大山 志保
2  20150515   3   3  1003634      テレサ・ルー
3  20150515   3   4  1000642       上田 桃子
4  20150515   3   5  1004236  ジョン ジェウン
5  20150515   3  6T  1000770       酒井 美紀

    

This Is The Newest Post