python - 如何将一个熊猫文本列拆分为固定数量的列
问题描述
我有一个数据框,其中一个文本列由“/”分隔,并希望通过拆分该列来创建几列。我知道我可以通过使用df['col'].str.split('/ ', expand=True)]
. 但是,就我而言,无论我得到多少拆分,我都想创建固定数量的列。例如,我将从以下 df 中创建 4 列,如果 split 没有返回足够的块,则用 Nan 填充最后的列:
col1 part_0 part_1 part2 part3
0 "a/b" => 0 "a" "b" Nan Nan
1 "a/b/c" 1 "a" "b" "c" Nan
我还没有找到任何允许我这样做的解决方案,因为它们都根据最大拆分创建列数,这对我不起作用。你能帮助我吗?谢谢!
解决方案
使用DataFrame.reindex
和DataFrame.add_prefix
:
df = pd.DataFrame({'col':['a/b','a/b/c']})
N = 4
df1 = df['col'].str.split('/', expand=True).reindex(range(N), axis=1).add_prefix('part_')
print (df1)
part_0 part_1 part_2 part_3
0 a b None NaN
1 a b c NaN
推荐阅读
- navigationbar - SwiftUI:第一次渲染时缺少 navigationBarItems
- pine-script - Pine script : 绘制盘中上午 9 点至 10 点的最高最低价
- html - 是否可以拆分先前通过合并多个单元格创建的 CSS 网格单元格?
- sqlite - 在 Crystal FFI 中,如何访问 C 库中的类型?
- null - 当 Enable Null 为 True 时,ColdFusion 2018 查询出现问题
- java - 创建一个具有两倍元素数的新数组
- r - 在R中选择每年相同的时期
- express - Socket.io 无法在 fb 和 insta 的应用内浏览器上监听
- python - 将excel文件列导入python脚本
- python-3.x - Tkinter 打开 2 个窗口