Help us understand the problem. What is going on with this article?

python 久しぶりに 自分用めも

More than 1 year has passed since last update.

インターンが始まった。しばらくはpythonでデータを色々処理したりすることをやるみたい。いうて久しぶりすぎてやばいから復習せな。オライリーのデータ処理系の本を一冊買おうかと思う。

c++と結構こんがらがるな~~

内包表記とかいうのに久しぶりに触れた。
[expression for item in iterable]
条件式も追加できる
[expression for item in iterable if condition]

辞書包括表記
{key_item:value_item for item in iterable}

集合内包表記
{item for item in iterable}

ジェネレータ内包表記
(item for item in iterable)
ジェネレータ内包表記は一度だけしか実行できない

pandas

import sys
sys.path.append('~')
import pandas as pd
df = pd.read.csv("データ")
print(df.query("office_number>=100"))か、
print(df[df["office_number"]>=100])の形で、
条件指定してデータを抽出できる

行を取り出すには、DataFrame.locという関数を使っていく。

titanic_df.loc[0:2]のように

groupby関数を用いると、指定された列を値毎にグルーピングしてくれる。 帰ってきたgroupbyオブジェクトで集計関数を呼び出すと、 グループごとの平均や最大値、中央値などを調べることができる。

Survive列が0か1かで生存したかどうかを示している。
生存した人たちと、していない人たちで各値の平均をとってみる。
titanic_df.groupby(['Survived']).mean()

Python では lambda 式を使って無名関数を定義することができます。
lambda 式のフォーマットは lambda x: y です。 x が引数で、 y が戻り値です。
my_funk = lambda x:x*2

def my_funk(x):
return x
*2
は同じ

l1 = [1, 3, 5]

l2 = map(lambda x: x ** 2, l1)

print(l2) [1, 9, 25]

l2 = [x ** 2 for x in l1]

pandas で行 / 列からデータ選択する方法をざっとまとめた。少し複雑なデータ選択をするときにやるべき流れは、
対象となる 行 / 列のデータと選択条件を確認する
API ガイドにやりたい処理に直接 対応するものがないか探す。
直接 対応するものがなければ、全体をいくつかの単純な処理に分解して、最終的にgetitem や ix に渡せる形にできるか考える。
自作関数を使ったほうが早そうだな、、、というときには Index.map or DataFrame.apply。

tell0120xxx
21歳です。ゴミ記事を書きます
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away