首页 > 解决方案 > 如何修改熊猫系列中的值

问题描述

所以我有一个带有一些值的熊猫系列,我在一个循环中传递了几次。每次我想在该索引的系列中添加一些新的东西。

例如,我有一个名为 df 的大数据框。然后我创建一个新列并尝试在名为 someList 的列表的交互中满足条件时对其进行修改

df["mySeries"] = ""
for a,b in itertools.combinations(someList, 2):
  if int1>0.5:
    df["mySeries"][someList.index(a)] = df["mySeries"][someList.index(a)], b

本质上我想将另一个字符串连接到现有系列。我似乎找不到最好的方法来做到这一点。我写的方式很好,但也给了我一个熊猫警告:

         "A value is trying to be set on a copy of a slice from a DataFrame"

并且输出不干净,因为它看起来像这样: (('', 61), 94) 我希望它看起来更像 61, 94。我尝试过 set_value,但这会覆盖系列中的现有数据。

标签: pythonpandas

解决方案


正如回溯所暗示的,您需要使用.loc.

>>> df.loc[someList.index(a), "mySeries"] = ...

推荐阅读