首页 > 编程笔记 > Python笔记 阅读:6

Pandas CSV文件的处理(附带实例)

CSV(Comma-Separated Values,逗号分隔值,有时也称为字符分隔值,因为分隔字符也可以不是逗号)格式的文件是指以纯文本形式存储的表格数据,这意味着不能简单地使用 Excel 表格工具进行处理,而且 Excel 表格处理的数据量十分有限,而使用 Pandas 来处理数据量巨大的 CSV 文件就容易得多了。

【实例】在 Pandas 中打开现有的 CSV 文件并显示。
import pandas as pd
df = pd.read_csv('nba.csv')
print(df.to_string())
to_string() 用于返回 DataFrame 类型的数据,如果不使用该函数,则输出结果为数据的前面 5 行和末尾 5 行,中间部分以 ... 代替:
print(df)
运行程序,输出如下:
     Name          Team              Number    Position   Age    \
0   Avery Bradley  Boston Celtics     0.0                 PG     25.0
1   Jae Crowder    Boston Celtics    99.0                 SF     25.0
2   John Holland   Boston Celtics    30.0      SG                27.0
3   R.J. Hunter    Boston Celtics    28.0      SG                22.0
..
453     6-3    203.0      Butler  2433333.0
454     6-1    179.0       NaN  9000000.0
455     7-3    256.0       NaN  2900000.0
456     7-0    231.0     Kansas  947276.0
457      NaN      NaN       NaN       NaN       NaN

[458 rows x 9 columns]

此外,也可以使用 to_csv() 函数将 DataFrame 存储为 CSV 文件。

【实例】利用 to_csv() 函数将数据存储为 CSV 文件。
import pandas as pd
# 三个字段 name, site, age
nme = ["Google", "Runoob", "Taobao", "Wiki"]
st = ["www.google.com", "www.runoob.com", "www.taobao.com", "www.wikipedia.org"]
ag = [90, 40, 80, 98]
# 字典
dict = {'name': nme, 'site': st, 'age': ag}
df = pd.DataFrame(dict)

# 保存 dataframe
df.to_csv('site.csv')
运行程序后,打开 site.csv 文件,效果如下图所示。


图 1 site.csv文件

Pandas处理数据的相关函数

在 Pandas 中,提供了相关函数用于实现数据处理,下面对各个函数进行介绍。

1) head()函数

head(n) 函数用于读取前面的 n 行,如果不带参数 n,默认返回 5 行。

【实例】利用 head() 方法读取数据的前 6 行。
import pandas as pd
df = pd.read_csv('nba.csv')
print(df.head(6))
运行程序,输出如下:
     Name           Team            Number   Position   Age Height  Weight    \
0    Avery Bradley  Boston Celtics     0.0      PG        25.0       6-2    180.0
1    Jae Crowder    Boston Celtics    99.0      SF        25.0       6-6    235.0
2    John Holland   Boston Celtics    30.0      SG        27.0       6-5    205.0
3    R.J. Hunter    Boston Celtics    28.0      SG        22.0       6-5    185.0
4    Jonas Jerebko  Boston Celtics     8.0      PF        29.0       6-10   231.0
5    Amir Johnson   Boston Celtics    90.0      PF        29.0       6-9    240.0

            College      Salary
0             Texas   7730337.0
1         Marquette   6796117.0
2 Boston University         NaN
3     Georgia State   1148640.0
4               NaN   5000000.0
5               NaN  12000000.0

2) tail()函数

tail(n) 函数用于读取尾部的 n 行,如果不带参数 n,默认返回 5 行,空行各个字段的值返回 NaN。

【实例】利用 tail() 函数读取数据的尾部 5 行。
import pandas as pd
df = pd.read_csv('nba.csv')
print(df.tail())
运行程序,输出如下:
             Name       Team   Number  Position   Age    Height  Weight  College  \
453  Shelvin Mack  Utah Jazz     8.0      PG      26.0     6-3    203.0  Butler   
454     Raul Neto  Utah Jazz    25.0      PG      24.0     6-1    179.0     NaN
455  Tibor Pleiss  Utah Jazz    21.0      C       26.0     7-3    256.0     NaN
456   Jeff Withey  Utah Jazz    24.0      C       26.0     7-0    231.0  Kansas
457           NaN        NaN     NaN      NaN      NaN     NaN     NaN    NaN

     Salary
453  2433333.0
454  900000.0
455  2900000.0
456  947276.0
457       NaN

3) info()函数

info()函数返回表格的一些基本信息。

【实例】利用 info() 函数显示 nba.csv 数据的基本信息。
import pandas as pd
df = pd.read_csv('nba.csv')
print(df.info())
运行程序,输出如下:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 458 entries, 0 to 457
Data columns (total 9 columns):
Name         457 non-null object
Team         457 non-null object
Number       457 non-null float64
Position     457 non-null object
Age          457 non-null float64
Height       457 non-null object
Weight       457 non-null float64
College      373 non-null object
Salary       446 non-null float64
dtypes: float64(4), object(5)
memory usage: 32.3+ KB
None

相关文章