Python:pandas dataframe函数一直认为相同的数据帧具有不同的维度
我有一个2D数据帧,还有一些NaN,所以我使用一个插补函数来帮助我填充那些缺失的值 当我打印时: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
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()
查看未缺失值的每列计数。