2016-04-30 10 views
-2

まあこんにちは皆!パンダ - 2つの列を作成する - 単純な、いいえ?

dfという(パンダ)データセットを作成したいとします。このdf pandaフォームには、 "Id"と "Feature"の列が含まれている必要があります。どのようにそれを行う上の任意のアイデア?

私は次のコードを実行しましたが、@@辞書は乱雑であり、2つの列をランダムに入れています。私は第1列として「Id」を、第2列として「Feature」を求めます。

ありがとうございます!長い週末を過ごす!

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

ここでの問題は、本質的にdictのキーの順序が必ずしも作成順序と同じではなく、後で 'df = df.ix [:, '[Id]、'特徴 ']] ' – EdChum

+0

すばらしい、多くのありがとう! この2ステップの手順をせずにパンダを使用して同じことを行う方法については、私はあなたの援助に感謝します。それは単に機能の選択ですが、それに対処する方法はまだありません。 – D1W1TR15

+0

「最初の列として「Id」を、2番目の列に「Feature」を追加します。今、それを望む理由はない。あなたのデータフレームを表示/印刷した後で、とにかくEdChumのソリューションを使用できる2番目のステップ(例えば 'print')が必要です。 – Evert

答えて

0

に「何の列が渡されない場合は、列が辞書のソートされたリストになりますキー。 "私はこの列を整理するためにこの簡単なトリックをします。列名の先頭に「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')) 

データフレーム:pandas docsから

>>> 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 ["Feature"] データと索引。この誤解をおかけして申し訳ありませんが、あなたの努力に感謝します。 – D1W1TR15

関連する問題