gpt4 book ai didi

python - 将数据框中的列拆分为两个新的数据框

转载 作者:行者123 更新时间:2023-11-28 17:05:59 25 4
gpt4 key购买 nike

我在一个数据框中有数据,其中一个单元格中有两个观察值:

                          small             medium        large
apples 258 0.12% 39 0.0091% 89 0.18%
carrots 97 0.16% 6 0.012% 26 0.26%
bananas 377 0.14% 12 0.018% 128 0.22%
pears 206 0.17% 7 0.034% 116 0.24%

我想创建两个单独的数据框来拆分观察结果。像这样:

                    small           medium          large
apples 258 39 89
carrots 97 6 26
bananas 377 12 128
pears 206 7 116

第二个:

                      small             medium        large
apples 0.12% 0.0091% 0.18%
carrots 0.16% 0.012% 0.26%
bananas 0.14% 0.018% 0.22%
pears 0.17% 0.034% 0.24%

我可以逐列拆分:

 new_df1 = df['small'].str.extract('([^\s]+)', expand=True)
new_df2 = df['small'].str.extract('([^\s]*$)', expand=True)

但我无法弄清楚如何为整个 DataFrame 执行此操作。我有许多类似的数据框,具有不同的列名和行名,因此我正在寻找可以重复使用的解决方案。谢谢!

最佳答案

你可以这样做:

df1 = df.applymap(lambda x: x.split()[0])
df2 = df.applymap(lambda x: x.split()[1])

例子 df:

   small medium
0 0 33% 0 33%
1 1 44% 1 33%
2 2 55% 1 55%

df1:

 small medium
0 0 0
1 1 1
2 2 1

df2:

  small medium
0 33% 33%
1 44% 33%
2 55% 55%

关于python - 将数据框中的列拆分为两个新的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50967794/

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