2

str列とデータを含む別の列を持つintデータフレームがあります

import pandas as pd
from databricks import koalas as ks

df = pd.DataFrame({'a': [1, 2, 3, 4, 5, 6, 7], 
                   'b': ['7', '6', '5', '4', '3', '2', '1'], 
                   'letter': ['a', 'a', 'b', 'a', 'b', 'b', 'a']})

kdf = ks.from_pandas(df)

次の操作はパンダで機能します...

df.groupby('letter')[['a', 'b']].apply(lambda x: x.values.tolist()) 

...しかし、コアラではありません:(

kdf.groupby('letter')[['a', 'b']].apply(lambda x: x.values.tolist())

エラーがスローされます:

ArrowInvalid: Could not convert '7' with type str: tried to convert to int64

エラーの理由とその解決方法は私には明らかではありません。何か案が?

アップデート:

問題を単純化すると、うまくいくことに気づきますが、エラーkdf.apply(lambda x: [1, 2], axis=1)kdf.apply(lambda x: [1, "2"], axis=1)スローされます。koalas データフレームに異なるタイプの要素を含むリストを作成することはできないようです。そうですか?代替手段とは何ですか?

4

0 に答える 0