[英]Python 3: Transpose columns of Pandas Data Frame / "melt" data frame
[英]Pandas Data Frame in Python. Proportions and Transpose
我在 Pandas 中有以下數據框。 這個想法是根據變量 TYPE 的比例生成額外的數據框 ID,將其轉換為列。 任何幫助表示贊賞!
d = {'ID': [1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2], 'TYPE': ['A','A','A','B','B','B','B','C','C','C','A','A','B','B','B','B','B','B']}
df = pd.DataFrame(data=d)
df
ID A B C
1 0.30 0.40 0.3
2 0.25 0.75 0.0
使用SeriesGroupBy.value_counts
和參數normalize=True
並通過Series.unstack
重塑:
df = df.groupby('ID')['TYPE'].value_counts(normalize=True).unstack(fill_value=0)
print (df)
TYPE A B C
ID
1 0.30 0.40 0.3
2 0.25 0.75 0.0
然后,如果需要,來自index
列:
df = df.rename_axis(None, axis=1).reset_index()
print (df)
ID A B C
0 1 0.30 0.40 0.3
1 2 0.25 0.75 0.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.