【问题标题】:dataframe values converted as 'nan' after applied df.iloc()应用 df.iloc() 后数据帧值转换为“nan”
【发布时间】:2020-04-05 10:10:33
【问题描述】:

nan 值

运行后我遇到了一个问题:pd.DataFrame(),整个数据框变成了“nan”(空)。我无法再次扭转这一点。我还分配了数据框列名称,但它们的值也消失了:

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt

    df = pd.read_csv('PuntaCapi.csv', header=None, sep='\n')
    df = df[0].str.split(',', expand=True)
    df.to_csv("PuntaCapi.tab",sep="\t",header=None, index=False)
    print(df)

    Akim =df.iloc[:,0:1] 

    A= pd.DataFrame(data =Akim ,columns=['Akim'])

    veriler2 = pd.DataFrame(data = df, columns=['Akim','Kuvvet','Zaman','Soguma','Yaklasma','Baski','SacKalinliği','PuntaCapi'])
    print(veriler2)

请查看上述代码的以下结果: [![Spyder查看DataFrame代码[][2]][2]1

There is no nan value into the csv file. But after .iloc[], entire dataframe became nan value. I have tried solve the problem but I could not. I need help to solve problem 在此处输入图片说明

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    我不明白你的问题。

    你使用pd.read_csv('PuntaCapi.csv', header=None, sep='\n')读取数据并保存为df,但是你将df修改为df[0].str.split(',', expand=True),直接影响结果。

    试试这个代码。

    df = pd.read_csv('PuntaCapi.csv', header=None, sep='\n')
    veriler2 = pd.DataFrame(data = df.values, columns=['Akim','Kuvvet','Zaman','Soguma','Yaklasma','Baski','SacKalinliği','PuntaCapi'])
    

    【讨论】:

    • 我已经应用了。然后我收到了这个错误。文件“C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\managers.py”,第 1694 行,在 construction_error 中引发 ValueError(f"传递值的形状是 {passed},索引暗示 {implied} ") ValueError: 传递值的形状是 (65, 1),索引意味着 (65, 8)
    • 哦。我发现了我们的错误。 PuntaCapi.csv 由 '\n' 分隔?错误消息与数据(df)相关,没有很好地分离。请检查一下。
    • 我收到了这条消息。数据框中有一些浮点值,例如('0,6','2,22')。我是否必须应用任何其他代码? raise ParserError(msg) ParserError: 预期第 5 行有 2 个字段,看到 4
    • 将 sep = '\n' 改为 sep = ','
    猜你喜欢
    • 1970-01-01
    • 2017-12-24
    • 2021-11-26
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 2015-09-08
    • 1970-01-01
    相关资源
    最近更新 更多