提问!python中list里的元素是dateframe,如何选取每个dataframe中的某个特定列呢?

ad_data 是个列表,其中每个元素都是一个dataframe,想要将每个df的第24列取倒数,但是不会切片。
错误代码如下:
for i in range(0,5):

ad_data[i][:,24]= 1/ad_data[i][:,24]

报错:'(slice(None, None, None), 24)' is an invalid key
请问是我切片写错了吗?还是其他错误呢?这种形式如何切片呢?

使用iloc,ad_data[i].iloc[:,24]= 1import /ad_data[i].iloc[:,24]
示例:

import pandas as pd

d=[pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}),pd.DataFrame({'m':[2,3,1],'n':[3,3,5],'t':[5,6,7]}),pd.DataFrame({'x':[0,1,3],'y':[2,2,5],'z':[1,0,1]})]
for i in range(len(d)):
    d[i].iloc[:, 2] = 1/d[i].iloc[:, 2]
    print(d[i])

运行结果:

a  b         c
0  1  4  0.142857
1  2  5  0.125000
2  3  6  0.111111
   m  n         t
0  2  3  0.200000
1  3  3  0.166667
2  1  5  0.142857
   x  y    z
0  0  2  1.0
1  1  2  inf
2  3  5  1.0

如有帮助,请点击采纳按钮~~

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632