数据框中除前两列外的倒数

0 投票
1 回答
54 浏览
提问于 2025-04-13 16:13

我想计算一个数据表中每个数值的倒数,但不包括前两列(这些是字符串)。

我试过这样做:

df_sort = df_sort[df_sort.iloc[:,2:]].rdiv(1)

但是这给我返回了一个错误:

ValueError: 期望条件是布尔数组,而不是int64

我该怎么解决这个问题呢?最后,所有的数据框应该是倒数,除了前两列。

1 个回答

1

这里有一种方法,通过一个简单的例子来演示:

import pandas as pd

df = pd.DataFrame({'col1': ['a', 'b', 'c'],
                  'col2': ['c', 'd', 'e'],
                  'col3': [1, 2, 3],
                  'col4': [4, 5, 6]
                  })

m= df.columns[2:]
df[m] = df[m].rdiv(1)

print(df)

给出

  col1 col2      col3      col4
0    a    c  1.000000  0.250000
1    b    d  0.500000  0.200000
2    c    e  0.333333  0.166667

撰写回答