gpt4 book ai didi

python - 如何将 pandas 中的列拆分为具有特定分隔符位置的多列?

转载 作者:行者123 更新时间:2023-12-01 08:26:23 24 4
gpt4 key购买 nike

这是我的数据框

                    df_test
0 (-, 136), (-, 136), 1.0
1 (-, 136), (-, 438), 0.5
2 (-, 136), (-, 257), 0.5

我希望看到这样的结果

      df_t1   df_t2  df_val
0 (-, 136) (-, 136) 1.0
1 (-, 136) (-, 438) 0.5
2 (-, 136) (-, 257) 0.5

我已经使用了此代码,但它不起作用

new_df[['df_t1', 'df_t2', 'df_val']] = new_df['df_test'].str.split(',',expand=True)

有什么建议吗?

最佳答案

根据您的格式,您可以使用 ast.literal_eval 。更好的是,在构建数据框之前尝试解决上游问题。

from ast import literal_eval

df = pd.DataFrame({'df_test': ['(-, 136), (-, 136), 1.0',
'(-, 136), (-, 438), 0.5',
'(-, 136), (-, 257), 0.5']})

series = df.pop('df_test').str.replace('-', '"-"').apply(literal_eval)
df = df.join(pd.DataFrame(series.values.tolist(), columns=['df_t1', 'df_t2', 'df_val']))

print(df)

df_t1 df_t2 df_val
0 (-, 136) (-, 136) 1.0
1 (-, 136) (-, 438) 0.5
2 (-, 136) (-, 257) 0.5

关于python - 如何将 pandas 中的列拆分为具有特定分隔符位置的多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54216266/

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