2016-04-30 74 views
-2

大家好!熊貓 - 創建兩列 - 簡單,不是?

我想創建一個名爲df的(熊貓)數據集。這個df熊貓形式必須包含「Id」和「Feature」列。任何想法如何做到這一點?

我已經完成了下面的代碼,但是@@字典是雜亂的,隨機放入了兩列。我想把「Id」作爲第一欄,將「Feature」作爲第二欄。

預先感謝您!祝你週末愉快!

df = DataFrame({'Feature': X["Feature"],'Id': X["Id"] }) 
+0

這裏的問題是,固有的字典順序不一定與創建的順序相同,你可以重新排列列後做'df = df.ix [:, ['Id','功能']]' – EdChum

+0

很好,非常感謝! 關於如何在沒有這兩步程序的情況下使用熊貓也有同樣的想法,我將非常感謝您的協助。這只是功能選擇,但仍然不知道如何處理它。 – D1W1TR15

+0

「我希望」ID「作爲第一列,」特徵「作爲第二列」。伊莫,沒有理由要這樣做。只有在顯示/打印數據框時,無論如何你需要第二步(例如'print'),你可以在哪裏使用EdChum的解決方案。 – Evert

回答

0

pandas docs「如果沒有列被通過,該列將是字典的排序列表鍵「。我做這個簡單的技巧來安排專欄。只需在列名開頭添加「1」,「2」等。例如:

>>>> df1 = pd.DataFrame({"Id":[1,2,3],"Feature":[5,6,7]}) 
>>>> df1 
    Feature Id 
0  5 1 
1  6 2 
2  7 3 
>>>> df2 = pd.DataFrame({"1Id":[1,2,3],"2Feature":[5,6,7]}) 
>>>> df2 
    1Id 2Feature 
0 1   5 
1 2   6 
2 3   7 
>>>> df2.columns = ["Id","Feature"] 
>>>> df2 
    Id Feature 
0 1  5 
1 2  6 
2 3  7 

現在您已訂購了打印或保存DataFrame所需的訂單。

0

如果這是你想要的?

import pandas as pd 
data=["id","Feature"] 
index=[1,2] 
s = pd.Series(data,index=index) 
df = pd.DataFrame(np.random.randn(2,2), index=index, columns=('id','features')) 

數據幀:

>>> df['id']

1 0.254105 
2 -0.132025 
Name: id, dtype: float64 

>>> df['features']

1 0.189972 
2 2.262103 
Name: features, dtype: float64 
+0

還挺〜我也需要從價值觀: X [「ID」]和X [「功能」] 不僅數據和索引。對不起,這個誤解,並感謝你的努力。 – D1W1TR15