数据框中除前两列外的倒数
我想计算一个数据表中每个数值的倒数,但不包括前两列(这些是字符串)。
我试过这样做:
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