TL;DR 版本:
对于有文本列的简单情况带有分隔符并想要创建两列,最简单的解决方案是:
df[['A', 'B']] = df['AB'].str.split(' ', n=1, expand=True)
详细信息:
Andy Hayden 的方法有效地展示了 str 的强大功能。 extract() 方法。但是,对于已知分隔符的简单分割,.str.split() 方法就足够了。它对字符串列(Series)进行操作并返回列表列(Series)。
列的 .str 属性允许我们将列中的每个元素视为字符串并有效地应用方法。它有一个索引接口,用于通过索引获取字符串的每个元素,使我们能够对从 .str.split() 返回的列表进行切片和切块。
Python 元组解包可用于创建两个单独的列列表使用:
df['A'], df['B'] = df['AB'].str.split('-', n=1).str
或者,可以利用 .str.split() 中的 Expand=True 参数直接生成两个columns:
df[['A', 'B']] = df['AB'].str.split('-', n=1, expand=True)
expand=True 版本在处理不同长度的分割时很有优势,因为它通过在缺少“分割”的列中插入 None 值来处理这种情况。
以上是如何有效地将 Pandas DataFrame 中的字符串列拆分为两个新列?的详细内容。更多信息请关注PHP中文网其他相关文章!