使用python机器学习(三)

上两篇文章《使用python机器学习(一)》、《使用python机器学习(二)》分别介绍了numpy、scipy的简单使用,下面再介绍一个机器学习中经常使用的python库-pandas。

Pandas提供了一套名为DataFrame的数据结构,比较契合统计分析中的表结构,并且提供了计算接口,可用Numpy或其它方式进行计算。

下面看看其简单使用:

#encoding=utf8
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

s = pd.Series([1,3,5,np.nan,6,8])
print(s)
dates = pd.date_range('20130101', periods=6)
print(dates)
#创建DataFrame
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
print(df)
#通过字典创建DataFrame
f2 = pd.DataFrame({ 'A' : 1.,
                    'B' : pd.Timestamp('20130102'),
                    'C' : pd.Series(1,index=list(range(4)),dtype='float32'),
                    'D' : np.array([3] * 4,dtype='int32'),
                    'E' : pd.Categorical(["test","train","test","train"]),
                    'F' : 'foo' })
print(f2)

#探索数据

print("前五行:",df.head())
print("后三行:",df.tail(3))
print("index: ",df.index)
print("columns: ",df.columns)
print("values: ",df.values)
print("describe: ",df.describe())
print("转置:",df.T)
print("按照axis排列:",df.sort_index(axis=0, ascending=False))
print("按照某列排序:",df.sort_values(by='B'))
print("删除nan:",s.dropna(how='any'))
print("填充nan值:",s.fillna(0))

总之pandas是一个强大的库,它的复杂用法,还需我们后面通过实践不断探索。

参考

10 Minutes to pandas

推荐阅读更多精彩内容