通过迭代替换 Pandas DataFrame 中的数组值

卡勒

我正在使用一个 Pandas DataFrame,它在数组中有一列条目,例如以下示例:

    user_id    tags
0      1       [a,b,c]
1      2       [a,b,d]
2      3       [b,c]
...
n      n       [a,d]

我有一些与 JSON 对象中的简化标签相关的标签 ID,我正在尝试使用以下方法用它们的非简化变体替换条目:

for user_tags in dataset['tags']:
    for tag in user_tags:
        for full_tag in UUIDtags['tags_full']:
            if full_tag['id'] == tag:
                tag = entry['name']

idname是 JSON 对象中对应的简化标签和完整标签名称。

但是,这不会在执行时更改值;是否有我缺少的 Pandas 方法来替换这些值?恐怕我会替换整个数组而不是替换单个条目。

谢谢!

编辑:JSON 对象 ( UUIDtags) 包含的示例

{
    "tags_full": [{
        "id": "a",
        "name": "Alpha"
    }, {
        "id": "b",
        "name": "Beta"
....
间谍006

创建示例数据。

>>> df = pd.DataFrame({'tags':[list(['a', 'b', 'c']), 
list(['a', 'b', 'd']), list(['b', 'c'])], 'user_id': [i for i in range(1,4)]})

>>> df
        tags  user_id
0  [a, b, c]        1
1  [a, b, d]        2
2     [b, c]        3

生成一个以字母为键、全标签为值的替换字典。

>>> replace_dict = {'a': 'Alpha', 'b': 'Beta', 'Charlie': 'c', 'Delta': 'd'}

好的,回到解决方案......使用中的相应值替换每行中的行和字母的迭代replacement_dict

>>> for row in range(len(df)):
...     for tag in range(len(df.loc[row, 'tags'])):
...             df.loc[row, 'tags'][tag] = replace_dict[df.loc[row, 'tags'][tag]]
... 

这是结果。

>>> df
                     tags  user_id
0  [Alpha, Beta, Charlie]        1
1    [Alpha, Beta, Delta]        2
2         [Beta, Charlie]        3

旁注: 的创建replacement_dict是根据我的示例数据中出现的字母临时创建的替换字典。为了为您的完整数据生成这样的替换字典,您可以这样做。

例如,假设UUIDtags是您的完整 JSON 对象

>>> UUIDtags = {'tags_full': [{'id':'a', 'name':'Alpha'}, {'id':'b', 'name':'Beta'}]}

我们可以像这样生成一个替换字典

>>> uuidtags_dict = {}
>>> for tag in UUIDtags['tags_full']:
...     uuidtags_dict[tag['id']] = tag['name']
... 
>>> uuidtags_dict
{'a': 'Alpha', 'b': 'Beta'}

这一代替换字典将根据您在编辑中提供的示例扩展到您的整个 JSON 对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过迭代替换数据框列的某些值

来自分类Dev

通过nan值过滤numpy数组的pandas dataframe列

来自分类Dev

如何通过Pandas.DataFrame中的值筛选出值

来自分类Dev

根据pandas DataFrame中的条件替换列中的值

来自分类Dev

Pandas DataFrame中的行值到列数组

来自分类Dev

在Pandas Dataframe的行数组中查找重复的值

来自分类Dev

过滤掉 Pandas DataFrame 中的“空数组”值

来自分类Dev

使用Pandas DataFrame进行迭代并更改值

来自分类Dev

使用applymap替换Pandas Dataframe中的空值

来自分类Dev

如何在Python Pandas的dataframe列中替换多个值?

来自分类Dev

如何根据条件替换pandas DataFrame中的值?

来自分类Dev

使用系列查找表替换Pandas DataFrame列中的值

来自分类Dev

用字典替换pandas dataframe None值

来自分类Dev

如何在Pandas Dataframe中迭代计数

来自分类Dev

推断Pandas DataFrame中的值

来自分类Dev

从另一个DataFrame替换pandas.DataFrame中的值的优雅方法

来自分类Dev

用另一列中的相同行值替换pandas dataframe列中的值

来自分类Dev

迭代创建pandas DataFrame

来自分类Dev

对 Pandas DataFrame 的迭代

来自分类Dev

通过匹配另一个DataFrame中的值来最佳填充Pandas DataFrame列

来自分类Dev

替换DataFrame中的值

来自分类Dev

替换DataFrame中的值

来自分类Dev

通过匹配Pandas DataFrame中另一列中的值来区分行值

来自分类Dev

连接Pandas DataFrame中的列值,用逗号替换“ NaN”值

来自分类Dev

识别Pandas DataFrame列的类型numpy DataFrame值的数组

来自分类Dev

将存储在pandas列中的数组转换为新的dataframe列,将结果数组值追加并映射到原始dataframe

来自分类Dev

Pandas DataFrame 乘以数组

来自分类Dev

如何替换不在列表中的Pandas Dataframe中的所有值?

来自分类Dev

Python Pandas中DataFrame中的值聚合?

Related 相关文章

  1. 1

    如何通过迭代替换数据框列的某些值

  2. 2

    通过nan值过滤numpy数组的pandas dataframe列

  3. 3

    如何通过Pandas.DataFrame中的值筛选出值

  4. 4

    根据pandas DataFrame中的条件替换列中的值

  5. 5

    Pandas DataFrame中的行值到列数组

  6. 6

    在Pandas Dataframe的行数组中查找重复的值

  7. 7

    过滤掉 Pandas DataFrame 中的“空数组”值

  8. 8

    使用Pandas DataFrame进行迭代并更改值

  9. 9

    使用applymap替换Pandas Dataframe中的空值

  10. 10

    如何在Python Pandas的dataframe列中替换多个值?

  11. 11

    如何根据条件替换pandas DataFrame中的值?

  12. 12

    使用系列查找表替换Pandas DataFrame列中的值

  13. 13

    用字典替换pandas dataframe None值

  14. 14

    如何在Pandas Dataframe中迭代计数

  15. 15

    推断Pandas DataFrame中的值

  16. 16

    从另一个DataFrame替换pandas.DataFrame中的值的优雅方法

  17. 17

    用另一列中的相同行值替换pandas dataframe列中的值

  18. 18

    迭代创建pandas DataFrame

  19. 19

    对 Pandas DataFrame 的迭代

  20. 20

    通过匹配另一个DataFrame中的值来最佳填充Pandas DataFrame列

  21. 21

    替换DataFrame中的值

  22. 22

    替换DataFrame中的值

  23. 23

    通过匹配Pandas DataFrame中另一列中的值来区分行值

  24. 24

    连接Pandas DataFrame中的列值,用逗号替换“ NaN”值

  25. 25

    识别Pandas DataFrame列的类型numpy DataFrame值的数组

  26. 26

    将存储在pandas列中的数组转换为新的dataframe列,将结果数组值追加并映射到原始dataframe

  27. 27

    Pandas DataFrame 乘以数组

  28. 28

    如何替换不在列表中的Pandas Dataframe中的所有值?

  29. 29

    Python Pandas中DataFrame中的值聚合?

热门标签

归档