如何在不重复其他列值的情况下扩展 pandas 数据框中的列表

How to expand a list in a pandas dataframe without repeating other column values

我想知道如何在不在其他单元格中重复变量的情况下扩展一个单元格中的列表。

目标是得到它以便扩展列表但不重复第一列。我知道如何扩展列表,但如果可能的话,我不想重复第一列的值。感谢您的帮助!!

为了得到你想要的东西,你仍然必须使用explode()来得到你需要的东西。您只需要更进一步并更改第一列的值。请注意,这将破坏列表元素与它们所在行的字母之间的关联。您将为该列创建第三个值(一个空字符串),该值将对每条不以开头的记录重复1.

如果您想从您正在谈论的行中删除值,但仍希望这些记录与其列表相关联的值相关联,则不能。一个值既在给定单元格中又不在该单元格中在逻辑上是不可能的。那么,我就给大家介绍一下消除原联的步骤吧。

对于这个例子,我命名了列,因为它们没有提供。

data = [
    ["a",["1 hey","2 hi","3 hello"]],
    ["b",["1 what","2 how","3 say"]]
]
df = pd.DataFrame(data,columns=["first","second"])
df = df.explode("second")
df['first'] = df.apply(lambda x: x['first'] if x['second'][0] == '1' else '', axis=1)