对列表进行排序并存储不同的值

时间:2016-03-07 01:42:35

标签: python pandas

所以我使用pandas来读取如下所示的数据:

 0   overcast
 1   overcast
 2   overcast
 3   overcast
 4      rainy
 5      rainy
 6      rainy
 7      rainy
 8      rainy
 9      sunny
 10     sunny
 11     sunny
 12     sunny
 13     sunny

我希望将阴天(第一个条目)存储为变量,然后遍历列表直到存在对比变量,并存储该变量。这应该在整个过程中分配任何其他对比变量,直到列表结束。

我很难找到最好的方法来做到这一点,或者大熊猫中有些东西能为我做到这一点,我已经失踪了吗?

编辑:所以我想从位置[0,0]开始,以获得阴天'并使该变量 a 并使其在列表中向下运行,直到它遇到“下雨”。到那时,它将它存储在 b 中,然后是“晴天”。进入 c 等,但我想了解如何使其健壮,以便无论标签数量多少,它都会存储它。不是希尔伯特的酒店,但说几百个。

1 个答案:

答案 0 :(得分:0)

Pandas提供unique()方法来识别列的不同值。然后你可以转置成一排。

>>> df2 = pd.DataFrame(df.unique()).T          # T = transpose()

          0      1      2
0  overcast  rainy  sunny

或者执行以下操作重命名列。 (我不知道你是否想要它们作为行名或行值。)

>>> df2.columns = df.unique()

   overcast  rainy  sunny
0  overcast  rainy  sunny