Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从命令行运行.py文件时,np.random.permutation上出现ValueError,但不是在juypter笔记本中_Python_Pandas_Numpy - Fatal编程技术网

Python 从命令行运行.py文件时,np.random.permutation上出现ValueError,但不是在juypter笔记本中

Python 从命令行运行.py文件时,np.random.permutation上出现ValueError,但不是在juypter笔记本中,python,pandas,numpy,Python,Pandas,Numpy,我正在运行以下代码 import pandas as pd import numpy as np import tensorflow as tf california_housing_dataframe = pd.read_csv("https://download.mlcc.google.com/mledu-datasets/california_housing_train.csv", sep=",") california_housing_dataframe = california_

我正在运行以下代码

import pandas as pd
import numpy as np 
import tensorflow as tf

california_housing_dataframe = pd.read_csv("https://download.mlcc.google.com/mledu-datasets/california_housing_train.csv", sep=",")

california_housing_dataframe = california_housing_dataframe.reindex(np.random.permutation(california_housing_dataframe))
california_housing_dataframe["median_house_value"] /= 1000.0
print(california_housing_dataframe.describe())
print(california_housing_dataframe)
这会导致ValueError:

ValueError:包含多个元素的数组的真值不明确。使用a.any或a.all

然而,同样的代码在jupyter笔记本中运行,只需删除打印并直接调用数据帧

我可以看出这个问题是由np.random.permutation行引起的。如果我不打印数据帧,它打印得很好。 但是为什么在jupyter笔记本中运行这个程序没有问题呢? 还有,如何解决这个问题,以便从命令行运行.py程序?

替换:

california_housing_dataframe=california_housing_dataframe.reindexnp.random.Permutation california_housing_dataframe 与:

california_housing_dataframe=california_housing_dataframe.reindexnp.random.Permutation california_housing_dataframe.index
将索引设置为数据帧的置换索引,而不是似乎已修复它的整个置换数据帧

!谢谢但两者之间的区别是什么呢?因为pandas索引是一组唯一标识符,位于默认整数上,从0开始,通常是1xN维度,其中数据帧中有N行。因此,通过尝试将多维数组推到整个数据帧,您让它变得有点疯狂。理论上,你可以做多维索引,但它并不是那么简单,例如。此外,如果重复某些索引,使其不唯一,则会丢失dataframe的某些元素。