目次
使用環境
- OS:Windows 10 Pro(バージョン:20H2)
- 言語:Python(pandasライブラリ使用)
経緯
Pythonでデータを処理している中で、
DataFrameの列ごとの平均値を求めたいと思い、.mean()
を使用しました。
しかし、.mean()
で取得した結果(Series型)は、他の処理に使いにくいため、
DataFrame型に変換して扱いやすくしたいと考えました。
解決方法:pd.DataFrame()
を使って変換する
pandasでは、pd.DataFrame()
関数を使うことで、平均値(Series)を簡単にDataFrame化することができます。
コード例(平均値をDataFrameに変換)
import pandas as pd
# サンプルのデータフレーム
df = pd.DataFrame({
"温度": [36.5, 36.7, 36.8],
"湿度": [45, 50, 48]
})
# 平均値を取得
df_mean = df.mean()
# 平均値をDataFrameに変換
df_mean_df = pd.DataFrame(df_mean)
print(df_mean_df)
コード解説
- **
df.mean()
**を使うと、各列の平均値がSeries型で取得されます。 - **
pd.DataFrame(df_mean)
**とすることで、Seriesを1列だけ持つDataFrame型に変換できます。 - 変換後は、普通のDataFrameと同じように扱えるため、さらに加工や出力がしやすくなります。
ポイントまとめ
.mean()
は元々Series型で返されるため、直接表のように使うには不便です。pd.DataFrame()
を使えば、簡単に**「縦持ち」DataFrame**に整形できます。- 必要に応じて、列名を付け直すことも可能です。
応用例:列名を付けてさらに見やすくする
# 平均値をDataFrameにして列名を付ける
df_mean_df = pd.DataFrame(df_mean, columns=["平均値"])
print(df_mean_df)
これで、「平均値」という列名を持つきれいな表に仕上げることができます。
まとめ
Pythonで.mean()
の結果をDataFrame化したい場合は、
- 平均値取得後、
pd.DataFrame()
でラップする - 必要に応じて列名を付与する
という手順を取ると、
データ整形や分析がスムーズになります。
ここまでお読みいただき、誠にありがとうございました。