2015-02-10 50 views
-1

我已经从excel文件创建了一个数据框。我想创建“动物”栏中每个独特值的新列。有人能帮忙吗?我对Python和熊猫有点新鲜。谢谢。Python - 如何根据现有列的唯一值在数据框中创建新列?

在:

import pandas as pd 

#INPUT FILE INFORMATION 
path = 'C:\Users\MY_COMPUTER\Desktop\Stack_Example.xlsx' 
sheet = "Sheet1" 

#READ FILE 
dataframe = pd.io.excel.read_excel(path, sheet) 
#SET DATE AS INDEX 
dataframe = dataframe.set_index('date') 
+0

你能告诉我们你的数据框的第一行吗?你可以用dataframe.head() – multigoodverse 2015-02-10 14:22:49

+0

0 2015-02-10狗1 1 2015-02-11猫2 2 2015-02-11猪5 3 2015-02-13狗3 4 2015- 02-14猫5 5 2015-02-16猪9 6 2015-02-16狗10 – user3133136 2015-02-10 15:15:01

+0

Ardit,在这个例子中,我希望新的'狗'列显示'1'的数据2015年 - 02-10(栏'猫'和'猪'将'0') – user3133136 2015-02-10 16:14:46

回答

0

你说你想从列“动物”的每个唯一值创建新列。由于你没有指定你想要新列作为值,我假设你想要None值。 所以,这里是代码:

for value in dataframe['animals']: 
    if value not in dataframe: 
     dataframe[value]=None 

第一行通过列“动物”的每一个值循环。 第二行检查以确保该值不在列中的某一列中,以便满足只有唯一值的条件。 第三行创建列'动物'的每个唯一值下命名的新列。

+0

谢谢。如果我想要将每只动物的数量添加到新列中,我该怎么做(而不是没有)? – user3133136 2015-02-10 15:01:15