2016-04-30 120 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