首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Pandas分解错误-列必须是标量

Pandas分解错误-列必须是标量
EN

Stack Overflow用户
提问于 2020-04-20 08:02:05
回答 4查看 3K关注 0票数 1
代码语言:javascript
代码运行次数:0
运行
复制
df.explode(['X'])


ValueError: column must be a scalar

嗨,有没有人能对此有什么建议?

EN

回答 4

Stack Overflow用户

发布于 2021-10-03 04:14:01

您可以提供列名的列表或元组,但只能使用pandas >= 1.3.0:请参见https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.explode.html

1.3.0版中的

新特性:多列分解

如果您看到此ValueError,则说明您使用的是较旧版本的pandas

票数 4
EN

Stack Overflow用户

发布于 2020-12-12 03:59:56

使用df.explode('X')而不是df.explode(['X'])。熊猫explode page上的例子解释了这一点。

票数 1
EN

Stack Overflow用户

发布于 2021-12-16 22:54:36

对于那些使用Pandas < 1.3的人来说,以下逻辑执行多列分解,并且效率相当高。只需替换要分解的参数的名称即可。

代码语言:javascript
代码运行次数:0
运行
复制
def explode(df):
    df['tmp']=df.apply(lambda row: list(zip(row[col1],row[col2])), axis=1) 
    df=df.explode('tmp')
    df[[col1,col2]]=pd.DataFrame(df['tmp'].tolist(), index=df.index)
    df.drop(columns='tmp', inplace=True)
    return df
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61313268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档