【发布时间】:2018-04-24 18:19:18
【问题描述】:
我有一个包含 170 列的 csv 文件数据集,前 5 列包含唯一标识符(平台、ID、日期、通话时长、姓名)。其余列 175 包含涵盖 10 个类别的二进制数据。我想压缩这些列,使我的数据框中的列数为 15。包括下面的示例:
import pandas as pd
df1 = pd.DataFrame({'Platform': ['Telephone', 'Chat', 'Text'], 'ID': [1, 2,
3], 'Length': [1545,1532,1511], 'Name': ['andy', 'helen', 'peter'], 'Problem:
A':[0,1,0], 'Problem: B':[1,0,0], 'Problem: C': [0,0,1], 'Solution: A':
[0,1,0], 'Solution: B':[1,0,0], 'Solution: C': [0,0,1]})
输出是:
df.head()
ID Date Length\\
1 2015-10-16 1545
2 2015-10-09 1532
3 2015-10-13 1511
Name Problem: A Problem: B Problem: C Solution: A Solution: B Solution: C
andy 0 1 0 0 1 0
helen 1 0 0 1 0 0
peter 0 0 1 0 0 1
我希望数据框看起来像什么:
Platform ID Length Name Problem Solution
Telephone 1 1545 andy B B
Chat 2 1532 helen A A
Text 3 1511 peter C C
仅供参考,这不是完整的数据框。总共有 170 个列,我想转换成 15 个。
【问题讨论】:
标签: python pandas binary categorical-data