パンダは単一のエントリデータセットからワイドテーブルを生成します

要求する

シーン

病院のデータベースから大量の健康診断データが得られますが、健康診断データテーブルでは、各行が特定の人の特定の健康診断の結果を表しています。目的は、各人の診察結果を行として格納することであり、各列は診察項目である。

生データ

StuID タイプ 一つに
0 111021 数学 89
1 111021 英語 93
2 312983 英語 91
314621 英語 82
4 314621 数学 92
5 112341 数学 82

目的:次の表に変換します

StuID 英語 数学
0 111021 93 89
1 312983 91 NaN
2 314621 82 92
112341 NaN 82

オプション1

Created with Raphaël 2.2.0 开始 提取唯一ID(可以是一行或者多行唯一确定) 确定并创建结果的DataFram结构,导入唯一ID 通过唯一ID,更新结果DF的数据 结束
  • 具体的なコードは以下の通りです
#将’B'列的类别调整为行。
#1
num = df[~df.duplicated(subset=['StuID'])].loc[:,'StuID'].to_list()
#2
result_df = pd.DataFrame({
    
    'StuID': np.array(num)},columns=['StuID','English','Math'])
#3
for i in df.index:
    t = df.loc[i,'Type']
    num = df.loc[i,'StuID']
    result_df.loc[result_df['StuID'] == num,[t]] = df.loc[i,'Num']
print(result_df)
  • 結果

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/u013894391/article/details/104525345