Python Pandas数据未正确对齐

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Pandas数据未正确对齐相关的知识,希望对你有一定的参考价值。

我正在从包含内存读数的文本文件目录构建数据框。我给该列命名为Memory

但是当导入数据时,会出现一列零,该列包含我想要的内存读数,并且Memory列的每个条目都有一个NaN(我想不是数字):

输出:

***Memory Data Frame:
            0 Memory
0   1843260.0    NaN
0   7706164.0    NaN
0   7904828.0    NaN
0   7706164.0    NaN
0   7706172.0    NaN
0   7648524.0    NaN
0   7648524.0    NaN
0   7706172.0    NaN
0   7706164.0    NaN
0   7904828.0    NaN
0   7706172.0    NaN
0   7648524.0    NaN
0   7706172.0    NaN
0  16075888.0    NaN
0   7904672.0    NaN
0   7904680.0    NaN
0   7904672.0    NaN
0   7904680.0    NaN
0  16075880.0    NaN
0   7904672.0    NaN
***

我不确定为什么数据与全零行不对齐,内存读数以.0尾随浮点数,或者Memory列为何有NaN行。这是我最近的代码。

代码:

# Create the memory dataframe
column_names = ["Memory"]
memory_df = pd.DataFrame(columns = column_names)
memory_df.astype('int32').dtypes
temp_df = pd.DataFrame(columns = column_names)
temp_df.astype('int32').dtypes
print(f"Reading text files into the Memory DF")
for filename in filelist:
    print(f"Adding filename: {filename}")
    filename = text_path + filename
    temp_df = pd.read_csv(filename, delim_whitespace=True, header=None)
    temp_df.astype('int32').dtypes      
    memory_df = memory_df.append(temp_df)

我如何只用Memory列摄取数据,而内存读数显示为没有尾随.0的整数?

答案

我看不到您的.csv文件的结构,但是我想从您的输出中看到由1列(整数)组成。

另一答案

全零和错位只是大熊猫和您的计算机对数据形式的误解。为了获得理想的结果,必须提取所有的内存值并将它们放在新的数据框中。要删除尾随零,请将类型更改为整数。代码如下:

以上是关于Python Pandas数据未正确对齐的主要内容,如果未能解决你的问题,请参考以下文章

全网最完整Python数据分析笔记系列工具篇:Pandas

Pandas concat 产生 ValueError:计划形状未对齐

《利用python进行数据分析》读书笔记--第五章 pandas入门

Pandas 未正确从 JSON API 获取数据

selenium pandas 数据框构造函数未正确调用

Eclipse 代码格式未正确对齐列中的字段