[英]How to split one pandas text column into a fixed amount of columns
我有一個 dataframe,其中一個文本列由“/”分隔,並希望通過拆分該列來創建多個列。 我知道我可以通過使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.