python - 如何拆分pandas中同时具有空值和某些值的列?

标签 python pandas dataframe

我有一个文件,其中有不同类型的值。 我需要将它们分成三列。 你能帮我解决这个问题吗?

我想拆分“COMPONENT_IDS”列。分成三列 - DOC_ID、DOC_TITLE、PROD

示例:

COMPONENT_IDS
0
ENC-010864-13;INVOKANA PI and Med Guide - May 2014
0
INK-MET-100 vs 300;INVOKANA - 100 vs 300 mg as a Starting Dose;Invokana

输出:

DOC_ID               DOC_TITLE                                    PROD
NULL                 NULL                                         NULL
ENC-010864-13        INVOKANA PI and Med Guide - May 2014         NULL
NULL                 NULL                                         NULL
INK-MET-100 vs 300   INVOKANA - 100 vs 300 mg as a Starting Dose  Invokana

最佳答案

首先将 0 替换为缺失值,然后使用 Series.str.split使用 expand=True 获取新的 DataFrame 并分配回新列:

c = ['DOC_ID','DOC_TITLE','PROD']
df[c] = df.pop('COMPONENT_IDS').replace('0',np.nan).str.split(';', expand=True)
print (df)
               DOC_ID                                    DOC_TITLE      PROD
0                 NaN                                          NaN       NaN
1       ENC-010864-13         INVOKANA PI and Med Guide - May 2014      None
2                 NaN                                          NaN       NaN
3  INK-MET-100 vs 300  INVOKANA - 100 vs 300 mg as a Starting Dose  Invokana

详细信息:

print (df.pop('COMPONENT_IDS').replace('0',np.nan).str.split(';', expand=True))
                    0                                            1         2
0                 NaN                                          NaN       NaN
1       ENC-010864-13         INVOKANA PI and Med Guide - May 2014      None
2                 NaN                                          NaN       NaN
3  INK-MET-100 vs 300  INVOKANA - 100 vs 300 mg as a Starting Dose  Invokana

关于python - 如何拆分pandas中同时具有空值和某些值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59578685/

相关文章:

python - 如何使用将数据框显示为表格的常量 url 构建静态网站

python - 组合两个 pandas 数据框,使相同的列索引/标题彼此相邻

Python HTML 解析标签内的特定信息

PYTHON:最适合每个x值的多个y值的线

python - Seaborn Plot 包括相同数据的不同分布

python - 从另一个 DataFrame 替换 pandas.DataFrame 中的值的优雅方法

python - 如何创建我的 DataFrame 以仅在我的数据集的 'Language' 列中显示法国电影,而该列中有多种语言?

python - 如何从字典中提取值并从中创建列表

python - 加载 Python 3.8 Azure Function 的 azure-cosmos 库时出现问题

Python pandas 空 df 但列有元素