【发布时间】:2020-11-13 04:57:55
【问题描述】:
import pandas as pd
data = {"Country": ["AA", "BB","CC","DD","EE","FF","GG"],
"1990": [0,1,1,1,0,1,1],
"1991": [0,0,1,1,1,0,1],
"1992": [1,1,1,1,1,0,0],
"1993": [0,1,1,1,1,0,0]}
df = pd.DataFrame(data)
目标是:对于 1990-1993 列,如果 value == 1,则将 Country 返回到 4 个列表,我还想为每个列表设置一个 #name of the year,不知道该怎么做。
这是我的尝试:
for i in range(1,5):
print(df[(df == 1)].iloc[:7,0].to_list())
我得到了 4 个 nans 列表的输出... 所需的输出将是
c1990=["BB", "CC", "DD", "FF", "GG"]
c1991=["CC", "DD", "EE", "GG"]
c1992=["AA", "BB","CC","DD","EE"]
c1993=["BB","CC","DD","EE"]
【问题讨论】:
-
我不明白“将国家/地区返回到 4 个列表”应该是什么意思。对于您提供的输入示例,请准确显示结果 DataFrame 应该是什么。
-
@KarlKnechtel 刚刚编辑了帖子,看看它现在是否更有意义。谢谢!