LoginSignup
0
0

More than 3 years have passed since last update.

細かいことまとめ

Posted at

はじめに

pythonでのいろんな操作を忘れてしまうのでまとめていこうと思います!
勉強したら更新していく予定です:mushroom:

zipファイルの解凍

google colaboratryなどのnotebookを用いた時にデータセットなどのzipを解凍する方法です:hugging:

!unzip "drive/My Drive/~/nyannyan.zip"

.csv, .tsvを読み込む

import pandas as pd
#csvを読み込む
csv = pd.read_csv('path.csv')

#tsvを読み込む
tsv = pd.read_table('path.tsv')

zipなどで圧縮されたcsvファイルをそのまま読み込むこともできる。


df_zip = pd.read_csv('Path.zip')

DataFrameの値をリスト型に変換

import pandas as pd

df = pd.DataFrame([['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], ['a', 'b', 'c', 'd', 'e', 'f', 'g']])

#valuesのtolistでリスト形式に戻す
df.values.tolist()

DataFrameのカラム抽出

カラム名(列名)を指定して特定の列を抽出できる

import pandas as pd
#"A"列を抽出
df['A']

# . (ドット) を利用しても同じ結果が得られます。
df.A

#複数のカラムを抽出
df[['A', 'B', 'C']]

DataFrameのカラムの名前を変更

#'A'のカラム名を'a'に変更、'C'のカラム名を'c'に変更
df.rename(columns={'A': 'a', 'C': 'c'})

DataFrameから条件を指定して値を抽出

#'age'のカラムの値が25未満のものを抽出
df[df['age'] < 25]

#.query()を使っても同じ結果を得られる
df.query('age < 25')

#複数選択も可能
#ageの値が25 かつ pointが50以上のものを抽出
df_store.query('(age == "25" & point > 50)')

#notも使える(age=50またはpoimnt>50でないものを抽出)
#| = OR, & = AND,  
df_store.query('not(age == "25" | point > 50)')

特定の文字列を含む行を抽出

これはデータ処理100本ノックで初めて使いました:sunglasses:


#str.contains('li'):特定の文字列を含む
df[df['name'].str.contains('li')]

#str.endswith():特定の文字列で終わる
df[df['name'].str.endswith('e')]

#str.startswith(): 特定の文字列で始まる
df[df['name'].str.startswith('B')]

参考文献

Google Colaboratoryでzipファイルの解凍とか。あれこれメモ

pandasでcsv/tsvファイル読み込み(read_csv, read_table)

【便利】Python 標準のリストと Pandas のDataFrame, Seriesを相互に変換する方法をまとめてみた

Pandas でデータフレームから特定の行・列を取得する

pandas.DataFrameの行名・列名の変更

pandas.DataFrameの行を条件で抽出するquery

pandasで特定の文字列を含む行を抽出(完全一致、部分一致)

0
0
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
0