我有一个 Pandas 数据框 名为:实体的列 当我通过以下方式打印专栏时:
df.entity
输出看起来像这样(我有 267 行,这只是前两行)
[(East, NNP), (India, CTR), (Company, ORG)]
[(Pasteur, ZZP)]
如何获得输出如下的新列:
East, India, Company
Pasteur
最佳答案
选项 1
zip
和迭代器
df.assign(entity=[', '.join(next(zip(*r))) for r in df.entity])
entity
0 East, India, Company
1 Pasteur
选项 2
@Zero 回答的理解版本。应该更快。
df.assign(entity=[', '.join([x[0] for x in r]) for r in df.entity])
entity
0 East, India, Company
1 Pasteur
设置
df = pd.DataFrame(dict(
entity=[
[('East', 'NNP'), ('India', 'CTR'), ('Company', 'ORG')],
[('Pasteur', 'ZZP')]
]))
关于python - 如何提取新的子字符串作为列列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46478402/