pandas 循环列表[已关闭]

w51jfk4q  于 2022-12-16  发布在  其他
关注(0)|答案(3)|浏览(154)

**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
18小时前关门了。
Improve this question
我正在做一个有很多国家的数据框,试图把每个国家都存储在自己的列表中
虽然我期望

for x in unique_countries:
    x = []
    x.append(x)
    print(x)

为了完成这项工作,我得到了一系列省略号,并将代码改为:

for x in unique_countries:
    y = x
    x = []
    x.append(y)
    print(x)

这给了我想要的结果,但我不明白为什么第一个不起作用。非常好奇知道为什么!

njthzxwz

njthzxwz1#

你可以很容易地做到这一点与Pandas。

import pandas as pd 
# ...
#  your code here
# ...
col_list = df["unique_countries"].values.tolist()
print(col_list)
vzgqcmou

vzgqcmou2#

unique_countries中的x是您的变量,即您的国家。如果您为该变量分配了一个列表,则x将被该列表覆盖,您的国家将丢失。

x.append(x)

你在你的列表中添加了一个相同的列表,但这不是你想要的结果。试试这个:

for x in unique_countries:
    print([x])

这样,您就可以通过一条语句直接打印变量来将其插入列表

zrfyljdw

zrfyljdw3#

在第一个代码块中,您将x赋值给一个空列表,并将一个空列表追加到它自己

x = []
    x.append(x) # [].append([])

而在第二个代码块中,您将x赋值给y,并将y追加到空列表

y = x
    x = []
    x.append(y) # [].append(y)

希望这能回答你的问题。
您所需的优化如下所示。

[[x] for x in unique_countries]

相关问题