为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas Dataframe - 在特定行中选择具有特定值的列

Pandas Dataframe - 在特定行中选择具有特定值的列

拉风的咖菲猫 2021-08-11 17:32:32
我想在 Pandas Dataframe 的特定行(比如第一行)中选择具有特定值(比如 1)的列
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

使用ilocwith boolean indexing,为了性能更好,index不过滤DataFrame然后选择索引(请参阅性能):


df = pd.DataFrame({

        'A':list('abcdef'),

         'B':[4,5,4,5,5,4],

         'C':[7,8,9,4,2,3],

         'D':[1,3,5,7,1,0],

         'E':[5,3,6,9,2,4],

         'F':list('aaabbb')

})


print (df)

   A  B  C  D  E  F

0  a  4  7  1  5  a

1  b  5  8  3  3  a

2  c  4  9  5  6  a

3  d  5  4  7  9  b

4  e  5  2  1  2  b

5  f  4  3  0  4  b


s = df.iloc[0]        

a = s.index[s == 1]

print (a)

Index(['D'], dtype='object')


a = s.index.values[(s == 1)]

print (a)

['D']


查看完整回答
反对 回复 2021-08-11
?
精慕HU

TA贡献1845条经验 获得超8个赞

你可以用这个

df['a'][df['a']==0]


查看完整回答
反对 回复 2021-08-11
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

您可以使用iloc将一行提取为一个系列,然后应用您的条件:


row = df.iloc[0]           # extract first row as series

res = row[res == 1].index  # filter for values equal to 1 and get columns via index


查看完整回答
反对 回复 2021-08-11
  • 3 回答
  • 0 关注
  • 274 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信