列同士の計算
「International_football_results.csv」からhome_score
とaway_score
の点差を演算し’point_diff_data’に代入し、先頭から5個表示する。
ポイント 点差は自然数(マイナスの点差は存在しない)、絶対値を取得する関数abs()を利用しよう!!
point_diff_data = abs(df["home_score"] - df["away_score"])
print(point_diff_data.head())
0 0 1 2 2 1 3 0 4 3 dtype: int64
for文等の繰り返し処理がなくても、全ての行に対して演算を行う
列の追加
df["point_diff"] = point_diff_data
df.head()
date | home_team | away_team | home_score | away_score | tournament | city | country | neutral | point_diff | |
---|---|---|---|---|---|---|---|---|---|---|
0 | 1872-11-30 | Scotland | England | 0 | 0 | Friendly | Glasgow | Scotland | False | 0 |
1 | 1873-03-08 | England | Scotland | 4 | 2 | Friendly | London | England | False | 2 |
2 | 1874-03-07 | Scotland | England | 2 | 1 | Friendly | Glasgow | Scotland | False | 1 |
3 | 1875-03-06 | England | Scotland | 2 | 2 | Friendly | London | England | False | 0 |
4 | 1876-03-04 | Scotland | England | 3 | 0 | Friendly | Glasgow | Scotland | False | 3 |
行の追加
# 行の追加 一人目
df3_add1 = pd.DataFrame([[25.0, 122.0, 2520.0, "M", 1, 71.0, 178.0]], columns=["Age", "Blood_pressure", "Vital_capacity", "Gender", "Disease", "Weight", "Height"])
df3 = pd.concat([df3,df3_add1], ignore_index=True, sort=False)リストを使う
df3[-5:]
行を追加するには、pd.concatを使う。
pd.concat([df,df],…)と追加するdfはリストの中に入れることを注意。
- 行の作成方法:
pd.DataFrame([[値2, 値2]], columns=['列名1', '列名2'])
欠損値がある場合
df4_add = pd.DataFrame([["2020-07-23","Tokyo","Japan"]], columns=["date","city","country"])
df4=pd.concat([df4,df4_add], ignore_index=True, sort=False)
df4[-5:]
date | home_team | away_team | home_score | away_score | tournament | city | country | neutral | |
---|---|---|---|---|---|---|---|---|---|
39006 | 2018-06-04 | Armenia | Moldova | 0.0 | 0.0 | Friendly | Kematen | Austria | True |
39007 | 2018-06-04 | India | Kenya | 3.0 | 0.0 | Friendly | Mumbai | India | False |
39008 | 2020-07-23 | NaN | NaN | NaN | NaN | NaN | Tokyo | Japan | NaN |
39009 | 2020-07-23 | NaN | NaN | NaN | NaN | NaN | Tokyo | Japan | NaN |
39010 | 2020-07-23 | NaN | NaN | NaN | NaN | NaN | Tokyo | Japan | NaN |
ない項目は勝手に、NaNが追加される。
不要な行を削除したい場合は.drop(index=行名)
を使えば削除できる
行方向の削除
df.drop(0) # 0番目のデータを削除 dfなのが注意 pdではない
df.drop([1,2]) # リスト形式で複数
df.drop('d')
df.drop(index='d')
列方向の削除
df.drop('A',axis=1) # axis='columns'でも可
df.drop(['A','C'],axis='columns') # 複数列削除することも可能
df.drop(columns='A')
コメント