gpt4 book ai didi

python - 根据可能不存在于所有值上的分隔符将 Pandas 列拆分为两个

转载 作者:行者123 更新时间:2023-11-28 17:18:44 26 4
gpt4 key购买 nike

我的数据框的一列看起来像这样:

[application]
blah/3.14
xyz/5.2
abc
...
...

(代表软件/版本)

我正在努力实现这样的目标:
[application] [name]  [ver]
blah/3.14 blah 3.14
xyz/5.2 xyz 5.2
abc abc na <-- this missing value can be filled in with a string too
...
...

正如您已经知道的,我想将列分成两部分,使用“/”作为分隔符。堆栈溢出解决方案建议如下:
tmptbl = pd.DataFrame(main_tbl.application.str.split('/', 1).tolist(), columns= ['name', 'ver'])
main_tbl['name'] = tmptbl.name
main_tbl['ver'] = tmptbl.ver

一开始看起来不错,但是对于没有“/”的列,例如“abc”,它会崩溃。

我还能尝试什么?

最佳答案

使用 str.split 带参数 expand=True退货DataFrame :

main_tbl[['name','ver']] = main_tbl.application.str.split('/', expand=True)
print (main_tbl)
application name ver
0 blah/3.14 blah 3.14
1 xyz/5.2 xyz 5.2
2 abc abc None

如果需要 NaN s 添加 replace :
main_tbl.ver = main_tbl.ver.replace({None:np.nan})
print (main_tbl)
application name ver
0 blah/3.14 blah 3.14
1 xyz/5.2 xyz 5.2
2 abc abc NaN

关于python - 根据可能不存在于所有值上的分隔符将 Pandas 列拆分为两个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42601397/

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