使用字符串列表来操作熊猫列

小分析师

我有一个很长的字符串列表。这些字符串是我想从数据框中保留的那些列。但是,此列表中有几个字符串与列标题不匹配,而是匹配我想要执行的两个或多个列标题之间的操作。

例子:

   df =  @A @B @C @D @E @F
         1   2  3  4  5  6
         9   8  7  6  5  4
         1   3  5  7  9  11

list = ["@A", "@C", "@D / @F"]

我希望这样输出:

@A @C @D/@F
1   3  0.667
9   7  1.5
1   5  0.63

但是,我终其一生都无法弄清楚该怎么做。为了让事情变得更复杂,有时在我的列表中您可能会看到像我的示例中那样的简单除法,有时您可能会看到更复杂的像"(C + D) / (A + F)". 我该怎么做??

老实说,我不知道从哪里开始。我以为我可以做一些类似 df[list] 的事情,pandas 会“知道”该做什么,但我想我可能问得有点太多了!

任何帮助,将不胜感激!谢谢。

编辑:在尝试使用 eval() 方法后,我遇到了另一个问题。我不认为这可能是一个问题,但是我的大多数字符串都以字符“@”开头,当传递给 eval 函数时会抛出错误。我会在谷歌上搜索如何解决这个问题,但也欢迎任何其他帮助。

编辑2:

我想出了一个解决@ 问题的方法。我只是使用了 replace() 方法。

lst = [word.replace("@", "") for word in lst]

然后,我也对我的所有列执行相同的操作。

二凡

使用DataFrame.eval

注意:永远不要list用作列表名,它是 Python 中的保留字。我把它改成lst

lst = ["A", "C", "D / F"]

df = pd.DataFrame(df.eval(lst).T, columns=lst)

输出

   A  C     D / F
0  1  3  0.666667
1  9  7       1.5
2  1  5  0.636364

如果我们lst用更复杂的计算来扩展你的,这个方法仍然成立:

lst = ["A", "C", "D / F", "(C + D) / (A + F)"]

df = pd.DataFrame(df.eval(lst).T, columns=lst)

输出

   A  C     D / F (C + D) / (A + F)
0  1  3  0.666667                 1
1  9  7       1.5                 1
2  1  5  0.636364                 1

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用字符串列表作为键来更新嵌套JSON文件中的单个值

来自分类Dev

如何对列名称使用字符串列表使用dplyr操作

来自分类Dev

使用字典替换字符串列表中的字符

来自分类Dev

如何使用字符串列表计算列值出现次数

来自分类Dev

IEqualityComparer使用字符串列表作为比较器

来自分类Dev

Python:使用字符串列表过滤字典键

来自分类Dev

使用字符串列表过滤数据框

来自分类Dev

字典使用字符串列表循环-Python

来自分类Dev

使用字符串列表动态创建对象?

来自分类Dev

使用字符串列表执行带参数的函数

来自分类Dev

从熊猫列中删除字符串列表

来自分类Dev

使用字符串列表或字典基于数据框中的现有列创建新列

来自分类Dev

使用字符串列表作为模式分割字符串

来自分类Dev

使用字符串列表作为模式分割字符串

来自分类Dev

通过使用字符串列的子集比较所有行来创建邻接矩阵

来自分类Dev

R使用字符串来引用列

来自分类Dev

如何用字符串列表替换pandas列中的元素

来自分类Dev

如何在Vala中使用字符串列表的HashMap?

来自分类Dev

Struts2,如果条件使用字符串列表

来自分类Dev

使用字符串列表访问R中的数据帧变量

来自分类Dev

如何使用字符串列表搜索上下文并对其进行排序?

来自分类Dev

如何使用字符串列表调用Paths.get

来自分类Dev

如何在Vala中使用字符串列表的HashMap?

来自分类Dev

使用字符串列表进行实体框架过滤

来自分类Dev

使用字符串列表访问R中的数据帧变量

来自分类Dev

使用字符串列表的 ASP.NET Core SQL Linq

来自分类Dev

用字符串列表填充 JTable 的行

来自分类Dev

熊猫:将包含字符串列表的列转换为每个值的新列

来自分类Dev

在C#中使用字符串列表作为参数格式化字符串

Related 相关文章

  1. 1

    使用字符串列表作为键来更新嵌套JSON文件中的单个值

  2. 2

    如何对列名称使用字符串列表使用dplyr操作

  3. 3

    使用字典替换字符串列表中的字符

  4. 4

    如何使用字符串列表计算列值出现次数

  5. 5

    IEqualityComparer使用字符串列表作为比较器

  6. 6

    Python:使用字符串列表过滤字典键

  7. 7

    使用字符串列表过滤数据框

  8. 8

    字典使用字符串列表循环-Python

  9. 9

    使用字符串列表动态创建对象?

  10. 10

    使用字符串列表执行带参数的函数

  11. 11

    从熊猫列中删除字符串列表

  12. 12

    使用字符串列表或字典基于数据框中的现有列创建新列

  13. 13

    使用字符串列表作为模式分割字符串

  14. 14

    使用字符串列表作为模式分割字符串

  15. 15

    通过使用字符串列的子集比较所有行来创建邻接矩阵

  16. 16

    R使用字符串来引用列

  17. 17

    如何用字符串列表替换pandas列中的元素

  18. 18

    如何在Vala中使用字符串列表的HashMap?

  19. 19

    Struts2,如果条件使用字符串列表

  20. 20

    使用字符串列表访问R中的数据帧变量

  21. 21

    如何使用字符串列表搜索上下文并对其进行排序?

  22. 22

    如何使用字符串列表调用Paths.get

  23. 23

    如何在Vala中使用字符串列表的HashMap?

  24. 24

    使用字符串列表进行实体框架过滤

  25. 25

    使用字符串列表访问R中的数据帧变量

  26. 26

    使用字符串列表的 ASP.NET Core SQL Linq

  27. 27

    用字符串列表填充 JTable 的行

  28. 28

    熊猫:将包含字符串列表的列转换为每个值的新列

  29. 29

    在C#中使用字符串列表作为参数格式化字符串

热门标签

归档