我有IMDB数据,包括导演和演员-然而,由于某种原因,在导演列演员的名字也被显示,虽然已经有一个单独的列。我试图删除所有的名字后,董事的名字,但无法。我尝试了下面的公式,但没有得到我想要的结果。
我使用下面的等式尝试将列分为两个:
df4[['director','actors']] = df4['director'].str.split(', ', expand=True)
但是,这会导致错误消息:
ValueError:列的长度必须与键的长度相同
我也试过下面的公式,但这导致删除了除了导演名字之外的所有内容:
df4['director'].str.rsplit(', ').str.get(0)
希望我解释的一切都是正确的!
2条答案
按热度按时间dxxyhpgq1#
它试图将每个参与者分配到目标中的单独列中,但只有一个
actors
列。使用
n=2
选项将split()
拆分为两个部分,这样所有的参与者都将保持在一起。zrfyljdw2#
假设实际的director总是
df4['director']
中包含的列表中的第一个元素,您可以编写一个函数:如果你的数组是
df4
,这将添加一个新列
director_clean
(您可以重命名),该列提供了导演的名称。