我有一个数据框,其中有一列,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 数据框中似乎不可能有一个包含不同类型元素的列表。是这样吗?什么是替代方案?