Python中对DataFrame列表指定列应用repr()生成新DataFrame列表的方法
解决方法
你之前的代码问题在于:直接把所有处理后的元素追加到同一个列表里,没有为每个原DataFrame生成对应的新DataFrame,导致结果变成了扁平的元素列表。以下是正确的实现方式:
方法一:循环实现(适合初学者理解)
import pandas as pd df_list2 = [] for df in df_list: # 对REG列的每个元素应用repr函数,生成新的Series processed_reg = df['REG'].apply(repr) # 将Series转换为仅含REG列的DataFrame new_df = processed_reg.to_frame() # 将新DataFrame添加到结果列表 df_list2.append(new_df)
方法二:列表推导式(更简洁)
如果熟悉列表推导式,可以用一行代码完成:
df_list2 = [df['REG'].apply(repr).to_frame() for df in df_list]
代码说明
df['REG'].apply(repr):对原DataFrame的REG列每一个元素执行repr()函数,得到一个包含处理后字符串的Series.to_frame():将Series转换为DataFrame,保持列名为REG- 遍历原
df_list时,每个原DataFrame对应生成一个新的DataFrame,并添加到df_list2中,最终得到的就是你需要的DataFrame列表
内容的提问来源于stack exchange,提问作者Bonjorn
相关产品推荐
相关产品推荐

