【问题标题】:Pandas - Splitting text using a delimiterPandas - 使用分隔符分割文本
【发布时间】:2018-07-26 10:50:20
【问题描述】:

下面是我的数据框的视图

Id,user_id
1,glen-max
2,tom-moody

我正在尝试拆分 user_id 列中的值并将其存储在新列中。

我可以使用以下代码拆分 user_id。

z = z['user_id'].str.split('-', 1, expand=True)

我希望这个拆分列成为我原始数据框的一部分。

下面给出的是数据框的预期格式

 Id,user_id,col1,col2
 1,glen-max,glen,max
 2,tom-moody,tom,moody

谁能帮助我如何使它成为原始数据框的一部分。 Tnx..

【问题讨论】:

标签: python pandas split


【解决方案1】:

一般的解决办法是多个-:

df = z.join(z['user_id'].str.split('-', 1, expand=True).add_prefix('col'))
print (df)
   Id    user_id  col0   col1
0   1   glen-max  glen    max
1   2  tom-moody   tom  moody

如果总是最大一个- 是可能的使用:

z[['col1','col2']] = z['user_id'].str.split('-', 1, expand=True)
print (z)
   Id    user_id  col1   col2
0   1   glen-max  glen    max
1   2  tom-moody   tom  moody

【讨论】:

  • @KevinNash - 欢迎您!如果我或其他答案有帮助,请不要忘记 accept 它 - 单击答案旁边的复选标记,将其从灰色切换为已填充。谢谢。
【解决方案2】:

使用str.split

例如:

import pandas as pd

df = pd.read_csv(filename, sep=",")
df[["col1","col2"]] = df['user_id'].str.split('-', 1, expand=True)
print(df)

输出:

   Id    user_id  col1   col2
0   1   glen-max  glen    max
1   2  tom-moody   tom  moody

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 2018-06-24
    • 1970-01-01
    • 2013-05-03
    相关资源
    最近更新 更多