2015-02-10 49 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