【发布时间】:2019-12-22 02:30:01
【问题描述】:
我已经在我的 windows 计算机上编写了一些代码,并将其转移到 linux 系统上。他们都有 python3 并且应该有相同的库。然而,虽然我的脚本在 Windows 中运行良好,但我在 linux 上收到一条错误消息。
这是导致问题的代码部分:
Normalized=(Combined/Dilutions.values)
#where
print(Combined)
Column_4 Column_4 Column_4 Column_4 Column_4 Column_4
2 50034 50034 32355 21058 10457 0
3 38230 38230 31054 18963 11770 0
4 34503 34503 22208 14216 5492 0
5 34219 34219 22975 11450 4148 0
6 37442 37442 25319 16206 7369 0
7 32144 32144 21293 14307 5594 0
8 28053 28053 19972 10767 4448 2634
9 30395 30395 22899 10458 4967 0
#and
print (Dilution)
0 1 2 3 4 5
0 103000.0 103000.0 95000.0 79600.0 78100.0 74562
当然,虽然这些是不同的大小,但我可以将稀释的值划分到合并中的每一行。看来我无法在linux中这样做,运行这个命令给了我这个。
Traceback (most recent call last):
File "blue.py", line 61, in <module>
Normalized=(Combined/Dilutions.values)
File "/usr/lib/python3/dist-packages/pandas/core/ops.py", line 1257, in f
other = _align_method_FRAME(self, other, axis)
File "/usr/lib/python3/dist-packages/pandas/core/ops.py", line 1180, in _align_method_FRAME
raise ValueError(msg)
ValueError: Unable to coerce to DataFrame, shape must be (8, 6): given (1, 6)
在 Windows 中是否有我在 linux 中缺少的包?否则我不知道为什么它可以在一个操作系统上运行,而在另一个操作系统上不行。
【问题讨论】:
-
你可能在 Linux 上有一个旧版 pandas,see
-
难怪我被你的代码弄糊涂了!变量和函数名称应遵循
lower_case_with_underscores样式。另外,你可能不应该使用.values。你在使用虚拟环境吗?你的程序打算做什么,你也许可以完全放弃 Pandas。 -
为简单起见,我将链接您我的代码所在的位置,以及我的描述:codereview.stackexchange.com/questions/234458/… 但简而言之,这部分代码通过将值划分为规范化我的数据表值我的数据表的每一行按稀释值计算。我使用 pandas 来形成数据表(所以我不能完全放弃它)。更明显的是,为什么当您在链接中看到完整代码时,我只在此处发布了错误的一部分,因为考虑到这些输入,那一行应该可以工作。
-
@samman 好的,我会看看其他问题。
标签: python python-3.x linux