python - 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
解决方案
这是一种方法,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})
推荐阅读
- ios - 如何删除出现在 Xcode 11.5 中且不再具有私钥的签名证书?
- git - 本地删除远程分支
- shopify - 更改添加到购物车按钮正在添加到购物车的产品
- kubernetes - 如何在 Rancher 中通过 questions.yaml 传递哈希值
- c++ - OpenGL - 在 NDC 中计算位置适用于着色器,但不适用于“常规”程序
- python - 在子进程中运行 Pyinstaller 单个可执行输出时无法重定向它
- javascript - 卡在javascript中的对象继承
- jquery - Jquery:以前可以工作但不再起作用的功能
- python - 如何将列表拆分为以分隔符开头的子列表?
- c# - 在被击中后将游戏对象向后移动(左/右/后)?