我有一个pandas数据帧。 其中一列包含60个元素的列表,在其行中保持不变。
如何将每个列表转换为新数据帧的一行?
更清楚一点:说A是具有n行的原始数据帧。其中一列包含60个元素的列表。
我需要创建一个新的数据帧nx60。
我的暂定:
def expand(x):
return(pd.DataFrame(np.array(x)).reshape(-1,len(x)))
df["col"].apply(lambda x: expand(x))]
它给出了有趣的结果......
奇怪的是,如果我调用函数"展开"在一个原始的,它完全符合我的期望
expand(df["col"][0])
To ChootsMagoots:Thjis是我尝试应用你的建议时的结果。它不起作用。
答案 0 :(得分:2)
试试这个:
new_df = pd.DataFrame(df["col"].tolist())
这有点frankensteinish,但你也可以尝试:
import numpy as np
np.savetxt('outfile.csv', np.array(df['col'].tolist()), delimiter=',')
new_df = pd.read_csv('outfile.csv')
答案 1 :(得分:2)
你也可以试试这个:
my-package/myfile
以上代码: 1.创建一个熊猫系列。 2.将系列值映射到原始数据框中的列。