【发布时间】:2022-01-09 10:33:37
【问题描述】:
我有一个大数据框 df_vol。 它有大约 20 列和 500k 行。 在名为“FTID”的列中,三个值是“###”。除了这三个实例之外,“FTID”列中的每个其他值都是唯一的。 我想搜索并将“###”的每个实例更改为唯一的。 这两个选项中的任何一个都可以接受:
- “###1”、“###2”、“###3”或
- "###" + str(row_index) for each 即用行索引连接"###"
我试过的代码是:
df_vol["FTID"] = df_vol["FTID"].apply(lambda x: "###" if x == "###" else None)
我知道上面的代码实际上并没有改变任何东西,但我不知道如何让它只提取行索引或使用增量数字。我尝试了很多不同的东西,但我是菜鸟,我在黑暗中刺伤。 在我看来它应该是这样的:
df_vol["FTID"] = df_vol["FTID"].apply(lambda x: "###" + df_vol.index.astype(str) if x == "###" else None)
但我所取得的小小的成功只是为新值返回了类似的东西:
Int64Index([ 423, 424, 425, 426, 427, 428, 429, 430,
现在要去收集我所有的头发,看看我能不能把它粘在头上;)
【问题讨论】:
标签: pandas lambda duplicates rename