如何删除“using pandas”后的所有字符

gkn4icbw  于 2023-10-14  发布在  其他
关注(0)|答案(2)|浏览(94)

我有IMDB数据,包括导演和演员-然而,由于某种原因,在导演列演员的名字也被显示,虽然已经有一个单独的列。我试图删除所有的名字后,董事的名字,但无法。我尝试了下面的公式,但没有得到我想要的结果。

我使用下面的等式尝试将列分为两个:

df4[['director','actors']] = df4['director'].str.split(', ', expand=True)

但是,这会导致错误消息:
ValueError:列的长度必须与键的长度相同
我也试过下面的公式,但这导致删除了除了导演名字之外的所有内容:

df4['director'].str.rsplit(', ').str.get(0)

希望我解释的一切都是正确的!

dxxyhpgq

dxxyhpgq1#

它试图将每个参与者分配到目标中的单独列中,但只有一个actors列。
使用n=2选项将split()拆分为两个部分,这样所有的参与者都将保持在一起。

df4[['director','actors']] = df4['director'].str.split(', ', n=2, expand=True)
zrfyljdw

zrfyljdw2#

假设实际的director总是df4['director']中包含的列表中的第一个元素,您可以编写一个函数:

def extract_director(df):
    df['director_clean'] = df['director'].apply(lambda x: x[0] if len(x) > 0 else None)

    return df

如果你的数组是df4

df4_revised = extract_director(df4)

这将添加一个新列director_clean(您可以重命名),该列提供了导演的名称。

相关问题