Pandas空数据框架

4

我有一个看起来像这样的csv文件:

-0.08150654489363679, 0.3262445628643036, -0.1983973830938339, 0.04597456371557881

我正在这样读取文件:

import pandas as pd

df=pd.read_csv(r'F:\Sheyenne\Statistics\IDL_stats\Basic_Stats\NDII\NDII_1984137_A_Annex.csv')    
print df

它会返回这个结果:

Empty DataFrame
Columns: [-0.08150654489363679, 0.3262445628643036, -0.1983973830938339, 0.04597456371557881]
Index: []

我想给列添加列名,像这样:
df=pd.read_csv(r'F:\Sheyenne\Statistics\IDL_stats\Basic_Stats\NDII\NDII_1984137_A_Annex.csv')    
df.columns=['Mean', 'Max', 'Min', 'Stdev']
print df

但是当我这样做的时候,会出现这个:
Empty DataFrame
Columns: [Mean, Max, Min, Stdev]
Index: []

我的期望输出是这样的:

      Mean                Max                   Min               Stdev
-0.08150654489363679 0.3262445628643036 -0.1983973830938339 0.04597456371557881

在读取数据框时,似乎出现了一些有趣的问题,但我不确定是什么。

1个回答

2

将列名作为参数传递给read_csv函数:

df=pd.read_csv(r'F:\Sheyenne\Statistics\IDL_stats\Basic_Stats\NDII\NDII_1984137_A_Annex.csv', names=['Mean', 'Max', 'Min', 'Stdev'])    

默认情况下,pandas将第一行标题视为列名,因此当你覆盖列时,由于最初的csv只有一行,所以最终得到的是一个空的df。

另外,看起来你的文件有初始的空格,也可以设置跳过这些:

df=pd.read_csv(r'F:\Sheyenne\Statistics\IDL_stats\Basic_Stats\NDII\NDII_1984137_A_Annex.csv', names=['Mean', 'Max', 'Min', 'Stdev'], skipinitialspace=True)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接