SORU
10 EYLÜL 2012, PAZARTESİ


Pandalar: değerler önceden varolan bir sütun hesaplanan bir dataframe iki yeni sütunlar oluşturma

pandas kütüphane ile çalışıyorum ve n sütun ile df bir dataframe (n >iki yeni sütunlar eklemek istiyorum 0).
Bu yeni sütunlar dataframe bir sütun için bir uygulamanın sonucu.

Uygulamak için bu işlevi gibidir:

def calculate(x):
    ...operate...
    return z, y

Bir işlev için yeni bir sütun oluşturmak için bir yöntem sadece bir değer veriyor:

df['new_col']) = df['column_A'].map(a_function)

Demek istediğim şey, ve çalıştı unsuccesfully ( * ) gibi bir şey

(df['new_col_zetas'], df['new_col_ys']) = df['column_A'].map(calculate)

Ne en iyi yolu bu olabilir gerçekleştirmek için ? Hiçbir ipucu ile documentation taradım.

*df['column_A'].map(calculate) panda bir Dizi her öğe kayıt düzeni z, bir y oluşan döndürür. Ve iki dataframe sütunlar için bu atama için çalışan bir ValueError üretir.

CEVAP
10 EYLÜL 2012, PAZARTESİ


Sadece zip kullanmak istiyorum:

In [1]: from pandas import *

In [2]: def calculate(x):
   ...:     return x*2, x*3
   ...: 

In [3]: df = DataFrame({'a': [1,2,3], 'b': [2,3,4]})

In [4]: df
Out[4]: 
   a  b
0  1  2
1  2  3
2  3  4

In [5]: df["A1"], df["A2"] = zip(*df["a"].map(calculate))

In [6]: df
Out[6]: 
   a  b  A1  A2
0  1  2   2   3
1  2  3   4   6
2  3  4   6   9

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • grickle

    grickle

    22 AĞUSTOS 2006
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • MikeyMacintosh

    MikeyM

    28 Aralık 2009