2024-04-23 15:34:54 发布
网友
考虑数据帧
c1 c2 c3 0 a 3 4 2 1 b 1 2 7
假设我想知道第1行的哪一列有元素7。我将如何实现它? 我正试图用熊猫来实现它。你知道吗
我不确定你想要什么样的输出,但我相信这会有所帮助。我从创建数据帧开始。你知道吗
df = pd.DataFrame({'c1':['3', '1'], 'c2':['4', '2'], 'c3':['2', '7']})
下面的代码是这样读的:给我列'c3'等于7的所有记录。你知道吗
df = df[df['c3'] == '7']
输出:
如果要获取索引为1的行中第一个值的列:
1
a = df.loc[1].eq(7).idxmax() print (a) c3
说明:
首先选择索引为loc的列:
loc
print (df.loc[1]) c1 4 c2 2 c3 7 Name: (1, b), dtype: int64
与7比较:
7
print (df.loc[1].eq(7)) c1 False c2 False c3 True Name: (1, b), dtype: bool
对于c3得到最大值的索引,它意味着第一个True。你知道吗
c3
True
如果行包含多个值(这里是7)并且需要所有匹配的列,请使用^{}:
a = df.loc[1].eq(7) a = a.index[a].tolist()
我不确定你想要什么样的输出,但我相信这会有所帮助。我从创建数据帧开始。你知道吗
下面的代码是这样读的:给我列'c3'等于7的所有记录。你知道吗
输出:
如果要获取索引为
1
的行中第一个值的列:说明:
首先选择索引为
loc
的列:与
7
比较:对于
c3
得到最大值的索引,它意味着第一个True
。你知道吗如果行包含多个值(这里是7)并且需要所有匹配的列,请使用^{} :
相关问题 更多 >
编程相关推荐