gpt4 book ai didi

python - 拆分 Pandas 数据框的所有列表列

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:53 24 4
gpt4 key购买 nike

我有一个包含很多列的 dataframe

df=
c1\
2015-01-01 [50.4750711276, 50.4750711276, 50.4750711276]
2015-01-02 [50.5349107929, 50.5349107929, 50.5349107929]

c2
2015-01-01 [33.5322374641, 33.5322374641, 33.5322374641]
2015-01-02 [33.4770757092, 33.4770757092, 33.4770757092]

我想将每一列拆分为包含列表单个元素的列。喜欢(对于 c1)

          0          1          2
0 50.475071 50.475071 50.475071
1 50.534911 50.534911 50.534911

我可以

pd.DataFrame(df.c1.values.tolist()).add_prefix('code_')

但是如何同时对所有列执行此操作并能够根据列名添加前缀?

最佳答案

使用 list comprehensionconcat :

comp = [pd.DataFrame(df[x].values.tolist(), index=df.index).add_suffix('_code_' + x) 
for x in df.columns]
df = pd.concat(comp, axis=1)
print (df)
0_code_c1 1_code_c1 2_code_c1 0_code_c2 1_code_c2 2_code_c2
2015-01-01 50.475071 50.475071 50.475071 33.532237 33.532237 33.532237
2015-01-02 50.534911 50.534911 50.534911 33.477076 33.477076 33.477076

编辑:

names = list('ABC')
comp = [pd.DataFrame(df[x].values.tolist(), index=df.index, columns=names).add_suffix('_' + x)
for i, x in enumerate(df.columns)]
df = pd.concat(comp, axis=1)
print (df)
A_c1 B_c1 C_c1 A_c2 B_c2 C_c2
2015-01-01 50.475071 50.475071 50.475071 33.532237 33.532237 33.532237
2015-01-02 50.534911 50.534911 50.534911 33.477076 33.477076 33.477076

关于python - 拆分 Pandas 数据框的所有列表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49148768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com