演習課題「列の追加」
右のコードエリアにはdfというDataFrameが定義されています。dfに"year"という列を期待する出力を参考に追加したものをprint()でそのまま出力してください。
期待する出力値
num string year
a 3.0 paiza 2020
b 1.0 NaN 2021
c NaN daiza 2022
演習課題「行の追加」
右のコードエリアにはdfというDataFrameが定義されています。dfに"d"という行を期待する出力を参考に追加したものをprint()でそのまま出力してください。
期待する出力値
num string
a 3.0 paiza
b 1.0 NaN
c NaN daiza
d 100.0 kirishima
演習課題「列の削除」
右のコードエリアにはdfというDataFrameが定義されています。dfから"num"列を削除したものをprint()でそのまま出力してください。
期待する出力値
string
a paiza
b NaN
c daiza
演習課題「行の削除」
右のコードエリアにはdfというDataFrameが定義されています。dfから"c"行を削除したものをprint()でそのまま出力してください。
期待する出力値
num string
a 3.0 paiza
b 1.0 NaN
#04:更新・追加・削除
このチャプターでは、DataFrameの行や列の更新・追加・削除について学習します。
import pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
df["num"] = pd.Series({"a": 300, "b": 100})
シリーズで列を追加import pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
df["bool"] = pd.Series({"b": True})
スカラーで列を追加import pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
df["bool"] = False
loc属性を使うimport pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
df.loc["d"] = pd.Series({"num": 813, "string": "pizza"})
appendメソッドを使うimport pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
print(df.append(pd.Series({"num": 813, "string": "pizza"}, name="d")))
at属性を使うimport pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
df.at["a", "string"] = "pizza"
iat属性を使うimport pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
df.iat[0, 1] = "pizza"
del文を使うimport pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
del df["string"]
popメソッドで列を削除し、削除した列を取得import pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
print(df.pop("string"))
print()
print(df)
dropメソッドを使うimport pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
print(df.drop("string", axis=1))
import pandas as pd
s = pd.Series({"a": 3, "b": 1})
t = pd.Series({"a": "paiza", "c": "daiza"})
df = pd.DataFrame({"num": s, "string": t})
print(df.drop("a"))
・pandas.DataFrameのdropメソッドは引数でinplace=TrueとすることでもとのDataFrameに変更を加えるようになる(この際、メソッドの返り値はNoneになる)
・inplace引数とaxis引数を組み合わせれば行・列の削除に関する操作をdropメソッドで統一的におこなうことができる