Pandas DataFrame中的值划分

问题描述

在此数据框中

      SuperHero  Male  Female  TOTAL
0           Thor    26      12     38
1          Marvel    12      32     44
2          Other    10       8     18
3          TOTAL    48      52    10

0

如何对两个值进行除法。

例如:

a=df.iloc[[0],[3]]
b=df.iloc[[3],[3]]

p=a/b
print(a)
print(b)
print(float(p))

上述代码输出

总计 0 38 总 3 100

-----------------------------------------------------------------
TypeError                       Traceback (most recent call last)
<ipython-input-33-cfe71c8d8503> in <module>
      4 print(a)
      5 print(b)
----> 6 print(float(p))
      7 

TypeError: float() argument must be a string or a number,not 'DataFrame'

解决方法

您实际上是从.iloc函数返回一个数据帧 您只需要对代码进行一些修改:

a=df.iloc[0,3]
b=df.iloc[3,3]

p=a/b
print(a)
print(b)
print(float(p))

输出

38
100
0.38
,

尝试像这样访问数据框中的值:

a = df.iloc[0,3]
b = df.iloc[3,3]