LoginSignup
0
1

More than 3 years have passed since last update.

pandasの使い方

Last updated at Posted at 2019-07-13

pandasの使い方を少しずつ書いていきます。

pandasでの保存方法と読み取り方法

(200829追記)
AI QUEST 2020に応募してみました。
前処理能力がない実力不足を感じました。
入門試験で、使った前処理も追記していきます。雑多な感じになってしまします。

Pandas
import pandas as pd

#pandasデータフレームに読み込む。注意点はエクセル2010はutf-8では、保存できなくて、shift-jisなので、encoding="SHIFT-JIS"を入れること。

df = pd.read_csv("dataset_****.csv",encoding="SHIFT-JIS")


# dfにpandasデータフレーム名を入れる。

df.to_csv("df.csv")

リストの作り方

Pandas
#モジュールのインポート
import pandas as pd

#リストを作成
x = [-6.836951,-5.927641,-5.907641,-5.476121,-4.387844]
y = [-1.826294,0.054874,0.024874,0.336462,-0.818773]

#pandasデータフレームを作る。indexは列名。columnsがカラム名。
#ここは、列名x,yのデータフレームができている。

d = pd.DataFrame(data = [x,y],index = ['X','Y'] )
print(d)

#データフレームに、.Tをつけると、転置される。
D =d.T

print(D)

データフレームdをプリントすると
image.png

データフレームDをプリントすると
image.png

文字列の中に含む文字を特徴量として追加する方法

この例では、amenitiesという列名の中に、いろいろな文字列が入っている中から、TVという文字列があるもののデータを選んで、新しいTVという列を作って、pandasのデータフレームに、TVという文字列がある場合は1を入れます、ない場合は0が入ります。

文字列を含む列をpandasのデータフレームで指示します。df["amenities"]
文字列を指定するメソッドは、.str.contains
そこで、(文字列、regex=True)* 1で、最後の*1がなければ、TrueFalseが入ります。最後に*1をつけると、1,0が入ります。機械学習やるためには、最後に*1`を入れて、1,0のワンホットにした方が良いと思います。

df["tv"] = df["amenities"].str.contains("TV", regex=True)* 1

欠損値の処理方法

#pandasのインポート
import pandas as pd

#pandasデータフレームに読み込む。注意点はエクセル2010はutf-8では、保存できなくて、shift-jisなので、encoding="SHIFT-JIS"を入れること。
data = pd.read_csv("dataset_****.csv",encoding="SHIFT-JIS")

#データ構造のプリント
print(data.shape)

#欠損値のある行の数をカウントする
print(data.isnull().sum())

#カウントしたデータを、リストに入れる
data_insul_sum = data.isnull().sum()

#リストをpandasデータフレームに入れる
data_missing = pd.DataFrame(data=data_insul_sum) 

#データフレームを保存する
data_missing.to_csv("missing_****.csv")



Pandasでグラフを作る。

Pandasのplotの全引数を解説
https://own-search-and-study.xyz/2016/08/03/pandas%e3%81%aeplot%e3%81%ae%e5%85%a8%e5%bc%95%e6%95%b0%e3%82%92%e4%bd%bf%e3%81%84%e3%81%93%e3%81%aa%e3%81%99/
ここを見ましょう。


0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1