【发布时间】:2019-06-25 16:18:53
【问题描述】:
我有以下数据集
Chr Position Name AD
1 866511 A 13,21
1 881627 A 28,33
2 1599812 B 67,25
我需要将 AD 列拆分为三列 [REF, ALT1, ALT2]。
当 AD 的每一行只有两个值时,我仍然需要用 NaN 值填充 ALT2 列。
如果 AD 包含具有三个值的行,则以下代码有效
df['REF'], df['ALT1'], df['ALT2'] = df['AD'].str.split(',', 2).str
但是,在某些情况下,对于每一行,数据集在 AD 列中仅包含两个值,当我运行同一行时,我收到以下错误消息:
ValueError: not enough values to unpack (expected 3, got 2)
在这种情况下,我希望仍然保留第三列 ALT2 并用 NaN 值填充它。有什么建议吗?谢谢大家,愿意帮忙的人。
【问题讨论】:
-
如果您知道只有 3 或 2 个,您可以使用 if 语句(或 try catch)来遍历这两个选项