我有一个包含字符的数据框-我想要按行的布尔结果,告诉我该行的所有列是否具有相同的值。
例如,我有
df = [ a b c d
0 'C' 'C' 'C' 'C'
1 'C' 'C' 'A' 'A'
2 'A' 'A' 'A' 'A' ]
我希望结果是
0 True
1 False
2 True
我已经尝试过.all,但似乎只能检查是否都等于一个字母。我能想到的唯一另一种方法是在每一行上做一个唯一的,看看是否等于1?提前致谢。
我认为最干净的方法是使用eq根据第一列检查所有列:
In [11]: df
Out[11]:
a b c d
0 C C C C
1 C C A A
2 A A A A
In [12]: df.iloc[:, 0]
Out[12]:
0 C
1 C
2 A
Name: a, dtype: object
In [13]: df.eq(df.iloc[:, 0], axis=0)
Out[13]:
a b c d
0 True True True True
1 True True False False
2 True True True True
现在,您可以使用全部(如果它们都等于第一项,则它们都相等):
In [14]: df.eq(df.iloc[:, 0], axis=0).all(1)
Out[14]:
0 True
1 False
2 True
dtype: bool
希望这对你来说是有意义的,我很乐意更详细地解释这个问题。
问题内容: 我有多列值相等。我想查找具有3列以上具有相等值的行ID。 表结构就像- 问题答案: 数据并检查是否相等,请尝试此技巧。
我想实现dijkstra的算法,在两个节点之间的图中找到最便宜的路径。权重是节点之间的距离,单位为X,Y。我知道如何实现dijkstra,但我需要找到最短的所有路径。所以如果两条路径是相同的长度,我希望他们两个。 我也在谷歌和堆栈溢出上到处找。但是我真的不能理解给出的一些答案。也没有人使用优先级队列。我在考虑标记我们已经访问过的节点,但这不会切断路径吗? 这是我要实现的来自维基百科的伪代码。 如果
问题内容: 我必须在Python中找到列表的平均值。到目前为止,这是我的代码 我已经知道了,所以它可以将列表中的值相加,但是我不知道如何将其划分为它们? 问题答案: 在Python 3.4+上,你可以使用 statistics.mean() 在旧版本的Python上,你可以执行 在Python 2上,你需要转换len为浮点数才能进行浮点数除法 无需使用。它慢得多,并已在Python 3 中删除。
问题内容: 我在数据库中有几个表。我想查找哪些列(在哪些表中)没有任何值(列中都为NULL)。在下面的示例中,结果应该是 我不知道如何创建这种查询。非常感谢您的帮助! 问题答案: 对于单列,返回不为null的行数: 您可以为所有列生成查询。根据Martin的建议,您可以使用排除不能为空的列。例如: 如果表的数量很大,则可以类似的方式为所有表生成查询。所有表的列表在中。
问题内容: 我有这个桌子; 我希望选择这样的行: 任一或= 。 另一个字段应该是唯一的。 即我想从表中选择唯一,或者我需要以下结果: 怎么做? 为什么?因为我希望构建一个类似于Facebook的收件箱,在该收件箱中,已发送和已接收的消息将被聚合,而此查询是迄今为止的瓶颈。 我正在使用Rails 3.2和Postgres 9.3。 问题答案: (not )从结果中删除重复项,从而不必要。您可能希望在