pandas拆分嵌套列表

文章讲述了如何使用pandas库处理DataFrame,将嵌套的Mean_Features列表拆分为单独列。通过遍历DataFrame,利用pd.DataFrame()和pd.concat()函数展开并拼接数据,最终得到769列的新DataFrame。
摘要由CSDN通过智能技术生成

项目场景:处理数据时遇到个需要把DataFrame中嵌套列表元素拆分的工作


问题描述

我有一个这样的DataFrame
在这里插入图片描述

就意思是想把它每一个县对应的Mean_Features(一个嵌套的列表),拆分成许多列

每一列就是列表中的一个元素

解决方案:

遍历读取每行的Mean_Features列,通过pd.DataFrames()直接将list展开,然后再和county列进行拼接

因为对于类似这样的数据A=[1, 2, 3, 4]或A=[[1], [2], [3], [4]]的列表,经过pd.DataFrame()可以直接变成下图这样的DataFrame

data1 = [1, 2, 3, 4]
data2 = [[1], [2], [3], [4]]
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

在这里插入图片描述 在这里插入图片描述
所以每一行的操作就可以通过下面这行代码实现

data = pd.concat([pd.DataFrame([row["County"]], columns=["county"]), pd.DataFrame(row["Mean_Features"]).T], axis=1)
# 由于pd.DataFrame(row["Mean_Features"])直接生成的是一列,所以将其进行转置

就能得到一个1×769的dataframe
就能得到一个1×769的dataframe

完整代码

# 创建一个包含769列的空DataFrame
num_columns = 768
column_names = ['county']
df_final = pd.DataFrame(columns=column_names)
for index, row in df_new.iterrows():
    data = pd.concat([pd.DataFrame([row["County"]], columns=["county"]), pd.DataFrame(row["Mean_Features"]).T], axis=1)
    # print(data)
    # 使用 concat 函数纵向连接两个DataFrame
    df_final = pd.concat([df_final, data], axis=0, ignore_index=False)
# df_final

在这里插入图片描述

Finish!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值