首页 > 解决方案 > Python:如果分隔符不可用,则使用 str.split 拆分字符串

问题描述

我正在尝试根据 | 拆分以下数据 定界符。如果响应中只有单个值可用(无定界符),它应该转到不在数据框问题列中的答案。

代码:

answers_df[['Question','answers']] = answers_df.response.str.split("|",expand=True)

数据:

Assortments  | 5
6
product | 8

预期结果:

name       rating
-----       ------
Assortments  5
NAN          6
product      8

标签: pythonpandas

解决方案


这是一种方法,None在前面追加的想法:

df['ans2'] = df['ans'].str.split('|').apply(lambda x: [None] + x if len(x) < 2 else x)

df[['q1', 'a1']] = df['ans2'].apply(pd.Series)

df = df.drop('ans2', axis=1)

             ans         name rating
0  Assortments|5  Assortments      5
1              6         None      6
2      product|8      product      8

样本数据

l=["Assortments|5", "6", "product|8"]
df = pd.DataFrame({"ans": l})

推荐阅读