- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 DataFrame df1
:
df1.head() =
wght num_links
id_y id_x
3 133 0.000203 2
186 0.000203 2
5 6 0.000203 2
98 0.000203 2
184 0.000203 2
我需要计算一个名为 thr
的变量,
thr = N*(N-1)*2,
哪里N
是 df1
的行数.
问题是当我计算 thr
时,Python 抛出一个负值(尽管所有输入都是正值):
ipdb> df1['wght'].count()*(df1['wght'].count()-1)*2
-712569744
可能的提示
行数N是
ipdb> df1['wght'].count()
137736
因此,
ipdb> 137736*137735*2
37942135920.
考虑到可以分配给 int32
的最大值是2147483647
,我怀疑 NumPy 考虑了 type(thr) = <int32>
, 当它应该是 <int64>
.这有意义吗?
请注意,我没有编写生成 df1
的代码因为
ipdb> df1['wght'].count()
137736
但是,如果需要重现错误,请告诉我。
提前致谢。
最佳答案
您遇到了 np.int32
溢出,因此只需使用 len(df)
而不是 df.column.count()
。
这是一个小演示:
In [149]: x = pd.DataFrame(np.random.randint(0,100,size=(137736, 3)), columns=list('ABC'))
In [150]: x.A.count() * (x.A.count() - 1) * 2
Out[150]: -712569744
In [151]: len(x) * (len(x) - 1) * 2
Out[151]: 37942135920
In [153]: type(x.A.count())
Out[153]: numpy.int32
In [154]: type(len(x))
Out[154]: int
关于python - 两个正数相乘在 Python 3 中给出负输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37880740/
所以我目前正在代码 war 中解决以下问题: 返回一个数组,其中第一个元素是正数的计数,第二个元素是负数的总和。如果输入数组为空或 null,则返回一个空数组。 我想出了下面的代码,它并不漂亮,但我知
我想禁用文本框中的字母,这就是我使用此表达式的原因: /^[0-9]*$/ 问题是我也想允许负数, 这个表达式不允许我使用减号。(-)..我该怎么办? 最佳答案 尝试使用以下正则表达式: /^-?[0
这是一道面试题。我们有一个正整数数组,我们必须重新排列和连接数组元素,以便生成的数字是可以使用此数组形成的最大数字。 例如: [884 88] -> 88884 [20 19 90] -> 90201
所以我有点无奈。我想我了解如何对 IEEE-754 数字进行加法,但我在减法方面遇到了很大的问题。我感觉我的想法是对的,但我想和大家确认一下。 因此我们有以下两个 IEEE-754 编号: x: 0
我想将一个正数转换成相应的数字列表——数字也应该是整数。 转换时,比如1024,应该返回[1,0,2,4] 最佳答案 在 Swift 4.1 或更高版本中 let number = 1024 let
如果 float 可以用来正确表示我将使用的参数范围,我正在尝试为我的音频应用程序弄清楚。 它需要的“最大”掩码用于频率参数,它是正的,并且允许最多两位数字作为尾数(即从 20.00 hz 到 220
我是一名优秀的程序员,十分优秀!