Pandas 作为python的库,包含易于使用的数据结构,是一个强大数据分析的工具。
Pandas数据结构
Pandas的主要数据结构有Series和DataFrame。Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的一组标签组成。DataFrame是一个表格型数据结构,它含有一组有序的列,每列可以是不同的值类型。
Pandas的I/O操作
1.从csv文件中读写数据。
>>> df = pd.read_csv('file.csv', header=None, nrows=5)
>>> df.to_csv('myDataFrame.csv')
2.从Excel文件中读写数据。
>>> pd.read_excel('file.xlsx')
>>> pd.to_excel('dir/myDataFrame.xlsx', sheet_name='Sheet1')
Pandas选择数据
>>> df.at([0], ['Country'])
1. 获得数据
>>> s['b'] Get one element
>>> df[1:] Get subset of a DataFrame
2. 通过位置或者标签获取数据
df.iloc([0],[0]) 位置
df.iat([0],[0]) 位置
>>> df.loc([0], ['Country']) 标签
>>> df.at([0], ['Country']) 标签
3. ix可以自动地通过位置或标签获取数据
>>> df.ix[2] Select single row of
Country Brazil subset of rows
Capital Brasília
Population 207847528
>>> df.ix[:,'Capital'] Select a single column of
0 Brussels subset of columns
1 New Delhi
2 Brasília
>>> df.ix[1,'Capital'] Select rows and columns
'New Delhi'
4. 布尔运算获取数据
>> s[~(s > 1)] Series s where value is not >1
>>> s[(s < -1) | (s > 2)] s where value is <-1 or >2
>>> df[df['Population']>1200000000] Use filter to adjust DataFrame
5. 数据设置
>>> s['a'] = 6
pandas的Drop操作去除数据
>>> s.drop(['a', 'c']) Drop values from rows (axis=0)
>>> df.drop('Country', axis=1) Drop values from columns(axis=1)
pandas的排序功能
>>> df.sort_index() Sort by labels along an axis
>>> df.sort_values(by='Country') Sort by the values along an axis
>>> df.rank() Assign ranks to entries
获取pandas中Series和DataFrame 信息
>>> df.shape (rows,columns)
>>> df.index Describe index
>>> df.columns Describe DataFrame columns
>>> df.info() Info on DataFrame
>>> df.count() Number of non-NA values
pandas中的运算功能
>>> df.sum() Sum of values
>>> df.cumsum() Cummulative sum of values
>>> df.min()/df.max() Minimum/maximum values
>>> df.idxmin()/df.idxmax() Minimum/Maximum index value
>>> df.describe() Summary statistics
>>> df.mean() Mean of values
>>> df.median() Median of values
pandas使用的应用函数
>>> f = lambda x: x*2
>>> df.apply(f) Apply function
>>> df.applymap(f) Apply function element-wise
pandas数据结构之间的运算
>>> s3 = pd.Series([7, -2, 3], index=['a', 'c', 'd'])
>>> s + s3
a 10.0
b NaN
c 5.0
d 7.0
pandas数据结构之间的运算加上填充值
>>> s.add(s3, fill_value=0)
a 10.0
b -5.0
c 5.0
d 7.0
>>> s.sub(s3, fill_value=2)
>>> s.div(s3, fill_value=4)
>>> s.mul(s3, fill_value=3)
参考:http://www.kdnuggets.com/2017/01/pandas-cheat-sheet.html