Python自分用まとめ

pandasでcsv/tsvファイル読み込み

出典:https://note.nkmk.me/python-pandas-read-csv-tsv/

df_header = pd.read_csv('data/src/sample_header.csv')
print(df_header)
#     a   b   c   d
# 0  11  12  13  14
# 1  21  22  23  24
# 2  31  32  33  34
  • read_csv()とread_table()の違い

  • headerがないcsvの読み込み
    1行目がheaderとして認識され、列名columnsに割り当てられる。
    header=Noneとすると連番が列名columnsに割り当てられる。

  • headerがあるcsvの読み込み
    header=0のようにheaderの行番号を0始まりで指定する。headerで指定した行からデータが読み込まれ、それより上の行は無視される。

  • indexがあるcsvの読み込み
    index_col=0のようにindexとして使いたい列の列番号を0始まりで指定する。

  • 列を指定(選択)して読み込み
    特定の列だけを読み込む場合、usecols=[1, 3]のように読み込む列番号をリストで指定する。一列だけの場合もリストを使う。 列番号ではなく列名で指定usecols=['a', 'c']することも可能

  • 行をスキップ(除外)して読み込み

  • 型dtypeを指定して読み込み
  • 欠損値NaNの扱い
  • エンコーディングの指定
  • zipなどで圧縮されたファイルの読み込み
  • Web上のファイルの読み込み
  • tsvの読み込み

1. datetimeモジュールのクラス種類と使い方

出典:https://qiita.com/yuta-38/items/eb2ad47e8a25bde21c6c

import datetime as dt

#.now()
dtNow = dt.datetime.now()
dtNow  #datetime.datetime(2020, 3, 18, 21, 28, 13, 409431)

#.combine(A, B)
dateA = dt.date(2020,5,6)
timeA = dt.time(10,20,0)

dt.datetime.combine(dateA, timeA)

#timedelta
newyear = dt.datetime(2020, 1, 1)  #datetime型で2020年1月1日を定義
newyear + dt.timedelta(hours=-25)

1. 変数がNoneTypeであるかを判定する

出典:https://akamist.com/blog/archives/3067

サンプルプログラム

x = None
print(type(x))

if x is None:
    print('xはNoneTypeです')

実行例

$ python test.py

<class 'NoneType'>
xはNoneTypeです