ホームページ > バックエンド開発 > Python チュートリアル > 「melt()」関数を使用して Pandas DataFrame をメルトして操作するにはどうすればよいですか?

「melt()」関数を使用して Pandas DataFrame をメルトして操作するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-17 07:14:24
オリジナル
555 人が閲覧しました

How Do I Melt and Manipulate Pandas DataFrames Using the `melt()` Function?

パンダ データフレームをメルトするにはどうすればよいですか?

パンダ データフレームをメルトするには、複数の列を含むワイド形式からロング形式に変換する必要があります。 'variable' と 'value' という 2 つのプライマリ列があります。これは、melt() 関数を使用して実現できます。

問題 1: データフレームを溶かして列を行に入れ替える

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
ログイン後にコピー

これにより、元のデータフレームが次のように変換されます。 「名前」、「年齢」、「件名」、「成績」の列を含む希望の形式。 「件名」列には元の列ヘッダーが含まれ、「成績」には対応する値が含まれます。

問題 2: 特定の列を含めるために溶解されたデータをフィルタリングする

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
filtered_df = df[df['Subject'] == 'Math']
ログイン後にコピー

溶けたデータフレームをフィルタリングすることで、不要な列を削除できます。この場合、「件名」が「数学」に設定されている行のみが保持されます。

問題 3: 溶けたデータをグループ化し、スコア順に並べる

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
sorted_df = df.groupby('value').agg({'Name': ', '.join, 'Subject': ', '.join})
sorted_df = sorted_df.sort_values('value')
ログイン後にコピー

これにより、「value」列の重複した値を持つ行がマージされ、「Name」列と「Subject」列が次のように集計されます。カンマ区切りの値。次に、結果が昇順に並べ替えられます。

問題 4: 溶けたデータフレームの溶解

unmelted_df = df.pivot(index=['Name', 'Age'], columns='Subject', values='Grades')
ログイン後にコピー

溶けたデータフレームを元の形式に変換するには、次のようにします。 pivot() 関数を使用できます。これにより、データが「名前」列と「年齢」列でグループ化され、「件名」列をピボットして元のデータフレーム形状が作成されます。

問題 5: 溶けたデータをグループ化し、件名と成績を連結する

df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
grouped_df = df.groupby('Name').agg({'Subject': ', '.join, 'Grades': ', '.join})
ログイン後にコピー

問題 3 と同様に、これはメルトされたデータフレームをグループ化します。 「名前」を入力し、「件名」列と「成績」列をカンマを使用して連結します。結果は、各人につき 1 行のデータフレームとなり、科目と成績がリストされます。

問題 6: すべての列を値として含むデータフレームを結合する

df = df.melt(value_name='Value', var_name='Column')
ログイン後にコピー

すべての列を値として含むデータフレームをメルトし、melt() 関数から id_vars 引数を省略します。これにより、「Column」列に元の列ヘッダーがリストされ、「Value」列に対応する値が含まれるデータフレームが作成されます。

以上が「melt()」関数を使用して Pandas DataFrame をメルトして操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート