Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.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:pandas dataframe函数一直认为相同的数据帧具有不同的维度_Python_Pandas - Fatal编程技术网

Python:pandas dataframe函数一直认为相同的数据帧具有不同的维度

Python:pandas dataframe函数一直认为相同的数据帧具有不同的维度,python,pandas,Python,Pandas,我有一个2D数据帧,还有一些NaN,所以我使用一个插补函数来帮助我填充那些缺失的值 当我打印时: print 'size of X: ', X.shape 我得到: size of X: (3373, 36) 所以它显示了我的数据帧是3373行36列 然而,当我在上述打印陈述之后尝试将其纳入插补器函数时: imp = Imputer(missing_values="NaN", strategy='mean', axis=0) X = pd.DataFrame(imp.fit_transfo

我有一个2D数据帧,还有一些NaN,所以我使用一个插补函数来帮助我填充那些缺失的值

当我打印时:

print 'size of X: ', X.shape
我得到:

size of X:  (3373, 36)
所以它显示了我的数据帧是3373行36列

然而,当我在上述打印陈述之后尝试将其纳入插补器函数时:

imp = Imputer(missing_values="NaN", strategy='mean', axis=0)
X = pd.DataFrame(imp.fit_transform(X), columns=X.columns)
我不断发现错误:

ValueError: Shape of passed values is (35, 3373), indices imply (36, 3373)
当我检查了形状传递值是否为(363373)时,它是如何变成(353373)的?这里发生了什么事

我在谷歌上搜索到了这个错误,但其他帖子没有和我一样的问题,所以我自己在网上找不到太多帮助

我是Python新手,非常感谢您的帮助

注意

转换前X的数据类型如下所示:

X dtype: 
    Material                   int64
    Plant                      int64
    Material Type              int64
    ...
    MRP group                  int64
    Reorder Point            float64
    dtype: object
当我使用下面的代码检查任何列是否完全为空时,我没有得到任何输出。这意味着我的X中没有任何空列,对吗

for col in X.columns.values:
    if X.ix[:, col].empty:
        print col

在转换之前,
X.dtypes
是什么样子的?嗨@MarkDickinson,在我的问题中也会更新它!注释有点长。从文档中可以看出:“当axis=0时,在转换时只包含fit处缺失值的列将被丢弃。”数据帧中是否可能至少有一列完全由缺失值组成?您好@MarkDickinson,我在问题的最后也添加了这方面的输出。似乎我没有空列。除非我的代码使用错误!我不认为
empty
是您所需要的:这只适用于长度为零的系列。请尝试
X.count()
查看未缺失值的每列计数。
X.dtypes
在转换之前是什么样子的?Hi@MarkDickinson,也将在我的问题中更新它!注释有点长。从文档中可以看出:“当axis=0时,在转换时只包含fit处缺失值的列将被丢弃。”数据帧中是否可能至少有一列完全由缺失值组成?您好@MarkDickinson,我在问题的最后也添加了这方面的输出。似乎我没有空列。除非我的代码使用错误!我不认为
empty
是您所需要的:这只适用于长度为零的系列。请尝试
X.count()
查看未缺失值的每列计数。