gpt4 book ai didi

python - 在Python中获取特定行(日期)的值>0的列名列表

转载 作者:行者123 更新时间:2023-12-02 18:22:38 24 4
gpt4 key购买 nike

我有一个 DataFrame df1 并且我想获取特定日期,例如 2022-01-04 所有列名称列表中的 df1 为:01G, 02G, 04G。到目前为止,我只能获取每行的编号,而不能获取列名称。

这是一个简单的例子:

df1:
01G 02G 03G 04G
Dates
2022-01-01 0 1 0 1
2022-01-02 1 1 1 0
2022-01-03 0 1 1 1
2022-01-04 1 1 0 1

为了重现性:

import pandas as pd
import numpy as np

df1 = pd.DataFrame({
'Dates':['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04'],
'01G':[0, 1, 0, 1],
'02G':[1, 1, 1, 1],
'03G':[0, 1, 1, 0],
'04G':[1, 0, 1, 1]})
df1 = df1.set_index('Dates')

np.count_nonzero(df1, axis=1)

非常感谢!

最佳答案

使用DataFrame.loc对于按日期时间过滤行,请比较 0 等更大的名称和过滤列名称:

print (df1.columns[df1.loc['2022-01-04'].gt(0)].tolist())
['01G', '02G', '04G']

关于python - 在Python中获取特定行(日期)的值>0的列名列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70663127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com