如何从数据框中的观察中分配唯一变量

时间:2019-05-06 19:34:23

标签: python

我在一个数据帧中有1000个观测值,需要将每一行分配给一个变量。

例如 我的数据集有1列1000行。每行都是一个字符串

Column 1
apple
orange
pineapple

我想使用执行以下操作的代码

A1 = apple
A2 = orange
A3 = pineapple

我尝试使用globals函数将DF转换为列表,将数据从行转换为列...我不知道要使用哪个函数!熊猫似乎可以解决问题,但我不知道从哪里开始。

for i in df:
    df= globals()
    df["A" + str(i)]

我遇到一个关键错误,我相信是由于'A'不在数据框中。我已经在数据框中添加了A,在相邻的列中添加了A0A1000,但是无法正常工作。

如上所述,我希望将每个观察值分配给变量A(i)

稍后我在使用变量A1A1000的代码中有一个for循环

提前感谢您使用什么功能的帮助或指导

2 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

data = ['apple', 'orange', 'pineapple']
i = 1
for c in data:
    exec("%s='%s'" % ('A'+str(i), c))
    i += 1

print(A1)

答案 1 :(得分:0)

直到除非您不希望将该变量存储在DataFrame本身内,否则您都可以使用Dictionary数据结构创建不同的键(将用作动态创建的变量),并将它们分配给数据框的每一行,如下所示:值。

dict = {}
size_of_dataFrame = 0
while size_of_dataFrame < 10000:
    "Generate random unique key"
    key = ...
    "pull data out of dataframe using iterator"
    value = ...
    dict[key] = value 
   size_of_dataFrame += 1

我希望这有道理。

ATB