在行和列中有ID的 Dataframe ,表示用户访问网站的次数。我想要访问网站的所有用户ID的逐日视图,这反过来由大于或等于1的所有值表示
DF
Codes 2022-09-04 2022-09-03 2022-09-02
A1AA 1 0 0
A1BB 0 0 2
A1CC 5 0 0
A2DD 0 5 0
A1EE 0 1 0
A1AA 0 0 1
预期产量
Dates Codes
2022-09-04 A1AA
2022-09-04 A1CC
2022-09-03 A2DD
2022-09-03 A1EE
2022-09-02 A1BB
2022-09-02 A1AA
3条答案
按热度按时间mgdq6dx11#
如果NA:,您可以使用:
stack
通过删除受益:或者使用
melt
和loc
,尽管顺序不同(如果需要,您可以使用sort_values
):输出:
ht4b089n2#
正在做
dot
de90aj5v3#
要使用指定的列序列和行排序(按
Dates
降序)获得所需的输出,您可以执行以下操作:解释:
@
运算符相当于DataFrame的dot()
方法set_index()
使Codes
列不会妨碍对df
中剩余的列标签执行dot()
reset_index()
将Codes
还原到列iloc[]
颠倒列顺序set_axis()
按照操作中指定的方式标记列sort_values()
将日期按降序排列。产出: