使用 Pandas,我如何根据第一个空间进行拆分。

Jes*_*ren 4 python string split dataframe pandas

所以我有一列代码:“dataset.csv”

0020-004241 purple
00532 - Blue
00121 - Yellow
055 - Greem
0025-097 - Orange
Run Code Online (Sandbox Code Playgroud)

期望输出:

code              name_of_code
    0020-004241         purple 
    00532               blue 
Run Code Online (Sandbox Code Playgroud)

我希望将代码和代码的单词分成两个不同的列。

我试过:

df =pandas.read_csv(dataset.txt)

df = pandas.concat([df, df.columnname.str.split('/s', expand=True)], 1)
df = pandas.concat([df, df.columnname.str.split('-', expand=True)], 1)
Run Code Online (Sandbox Code Playgroud)

` 它给出了意外的输出:紫色无蓝色无黄色无绿色无橙色无

我应该如何正确分割这些数据?

Rak*_*esh 11

使用 str.split(" ", 1)

前任:

import pandas as pd
df = pd.read_csv(filename,names=['code'])
df[['code','name_of_code']] = df["code"].str.split(" ", 1, expand=True)
df["name_of_code"] = df["name_of_code"].str.strip("-")
print(df)
Run Code Online (Sandbox Code Playgroud)

输出:

          code name_of_code
0  0020-004241       purple
1        00532         Blue
2        00121       Yellow
3          055        Greem
4     0025-097       Orange
Run Code Online (Sandbox Code Playgroud)