0

同じ質問が pydata google グループに投稿されています。

カスタムの連結を行いたい、つまりオブジェクトごとのグループの行を使用して新しい列を作成したい。

これは不自然な例です:

Input data frame
name age
foo     12
bar     14

df = pandas.DataFrame({  'name':['foo','bar'],'age': [12,14] })



expected output, a pandas data frame with four cols 
foo 12 bar 14

PS:これは、800k の奇数グループを含むグループ化された pandas オブジェクトに適用されるため、効率的なソリューションを探しています。

サンプル 800k データの構造は次のとおりです。実際のデータは科学的であり、列名は直感的ではない可能性があるため、私はまだ類推を使用しています

Subject (grouped by col)
          Name     Age        mark1   
          Foo      12         80     
          Bar      14         90 

このグループ化されたデータから必要なのは、次のデータ フレームです。

Subject Foo 12 80 Bar 14 90
4

1 に答える 1

0

DataFrame の値を次のように再形成します。

In [43]: pandas.DataFrame(df[['name', 'age']].values.reshape(1, 4))
Out[43]:
     0   1    2   3
0  foo  12  bar  14

reshape() はビューを返すため、これは効率的です。クレジット@Wouter Overmeire .

于 2013-05-15T14:28:11.070 に答える