【发布时间】:2021-01-07 11:47:54
【问题描述】:
我正在尝试转换此数据框:
data_in = {
'dates': [2017, 2017, 2018, 2019, 2019, 2019],
'names': ['Roger', 'Rafa', 'Roger', 'Rafa', 'Novak', 'Dom']
}
df_in = pd.DataFrame(data_in)
>>> df_in
dates names
0 2017 Roger
1 2017 Rafa
2 2018 Roger
3 2019 Rafa
4 2019 Novak
5 2019 Dom
进入这个二进制矩阵:
>>> df_out
Roger Rafa Novak Dom
dates
2017 1 1 0 0
2018 1 0 0 0
2019 0 1 1 1
所有日期作为索引,所有名称作为列,如果在日期出现名称,则数据为 1,如果不出现,则为 np.NaN 或 0。
我可以构建带有索引和列的 df_out 数据框,但是您将如何获取数据?
【问题讨论】:
-
更新数据是什么意思?另外,如果你有 2017 年,罗杰 2 次应该怎么办?
-
@L.Papadopoulos – 不是真的,因为我想在这里将具有重复项的列转换为具有唯一值的索引。
-
@DaniMesejo – ''更新'' 数据已重新制定。每对夫妇(日期、姓名)都是独一无二的。