pandasでデータ集計する際使ったメソッド集

# CSVファイルの読み込み
```
data = pd.read_csv("sample.csv", encoding="UTF-8")
data
```
#### 結果
<img width="380" alt="スクリーンショット 2017-07-28 22.27.31.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/a9e604d7-0d6b-61fd-38fc-2849dfd96132.png">

#### sample.csvの内容
```
不要,不要,不要,不要,不要,不要
不要,タイトルA,タイトルB,タイトルC,タイトルD,不要
不要,10,20,30,40,不要
不要,100,200,300,400,不要
不要,不要,不要,不要,不要,不要
```
GoogleスプレッドシートにあったデータをCSVで保存して、解析する際のデータをイメージしてます。
メモとか備考とかが構造化されずに書かれているシートも結構あったりすると思うので。
保存する際に範囲選ぶ事もできると思いますが、今回は練習がてらpandasで整理してみてます。

# 指定した行の内容をcolumn名に変更する
```
data.columns = data.iloc[0]
data
```
#### 結果
<img width="381" alt="スクリーンショット 2017-07-28 22.29.14.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/308b06ca-9311-3582-1563-6cd991309b14.png">

# 指定した行・列だけ取り出す
```
data = data.iloc[1:3,1:5]
data
```
#### 結果
<img width="310" alt="スクリーンショット 2017-07-28 22.33.12.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/b8042d37-dd38-a21a-b3d5-9a127f3dbaf6.png">
欲しい内容だけになりました。

# 要約統計量を色々出す（失敗）
```
data.describe()
```
#### 結果
<img width="341" alt="スクリーンショット 2017-07-28 22.34.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/0f542a1f-9358-f98f-4461-2a969becc580.png">
平均等が出ると思ったのですが、出ないです。
これは値の型が数値型になっていないためです。

# 値の型を変える
```
data = data.astype('int')
data
```
#### 結果
<img width="312" alt="スクリーンショット 2017-07-28 22.37.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/cb628ecc-e1d6-4f7f-43cf-e686ef2849e2.png">


# 要約統計量を色々出す(成功)
```
data.describe()
```
#### 結果
<img width="361" alt="スクリーンショット 2017-07-28 22.38.23.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/275a50ec-4a9b-9d61-2efd-67863ccfb6f5.png">

# 相関係数を出す　
````
data.corr()
````
#### 結果
<img width="355" alt="スクリーンショット 2017-07-28 22.39.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/06355759-f36e-df62-9ca6-74657fa3a52a.png">
#### 備考
左上の0ってのが何なのかわかっていません

# 他にも色々
```
data.sum() #合計
data.skew() #歪度
data.kurt() #尖度
data.var() #分散
data.cov() #共分散行列
```
#### 備考
* 共分散についてはこちらがわかりやすかったです http://mathtrain.jp/covariance
* 共分散行列についてはこちらがわかりやすかったです http://mathtrain.jp/covariance

# 箱ひげ図を表示する
```
%matplotlib inline # ページ中に表示するのに必要
data.plot(kind='box')
```
#### 結果
<img width="412" alt="スクリーンショット 2017-07-28 22.44.26.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/a33bbfd2-6087-600d-6514-d8007f474790.png">
#### 備考
日本語のラベルが表示されてないですが、日本語は
```
matplotlib.rcParams['font.family'] = 'M+ 1c' # 指定可能なフォント
```
のように指定する事で表示する事ができます。
指定可能なフォントは
```
import matplotlib.font_manager as fm
fm.findSystemFonts()
```
で調べられます。
http://qiita.com/hagino3000/items/1b54acc01483ccd0ac72
を参考にしました。

# DataFrameの結合(行方向)
```
pd.concat([data,data])
```
#### 結果
<img width="315" alt="スクリーンショット 2017-07-28 22.48.35.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/b918b62a-f903-f6a1-e0de-7f672f467529.png">

# DataFrameの結合(列方向)
```
pd.concat([data,data], axis=1)
```

#### 結果
<img width="583" alt="スクリーンショット 2017-07-28 22.49.28.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/12a27f80-647d-0b42-360f-ba89dd50bdf1.png">


# 全ての値を変更
```
data.pipe(lambda df: df / 2)
```
#### 結果
<img width="306" alt="スクリーンショット 2017-07-28 22.50.29.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/11fa8fd4-351f-8522-4f49-0979a980cbd2.png">

# 値で並び替え
```
data['タイトルA'].sort_values(ascending = True)
```
#### 結果
<img width="219" alt="スクリーンショット 2017-07-28 22.51.18.png" src="https://qiita-image-store.s3.amazonaws.com/0/29526/982a1cc2-667e-3aa9-ee20-89e2e29bf554.png">