pandas学习笔记(一)

基本数据结构

1. Series

对于一个Series,其中最常用的属性为值(values)、索引(index)、名字(name),类型(dtype)

s = pd.Series(np.random.randn(5),index=['a','b','c','d','e'],name='这是一个Series',dtype='float64')
s

a   -0.152799
b   -1.208334
c    0.668842
d    1.547519
e    0.309276
Name: 这是一个Series, dtype: float64

访问Series属性

s.values
array([-0.15279875, -1.20833379,  0.6688421 ,  1.54751933,  0.30927643])
s.name
'这是一个Series'
s.index
Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
s.dtype
dtype('float64')

DataFrame

df = pd.DataFrame({'col1':list('abcde'),'col2':range(5,10),'col3':[1.3,2.5,3.6,4.6,5.8]},
                 index=list('一二三四五'))
df

pandas学习笔记(一)_第1张图片

从DataFrame中取出一列为Series
df['coll']

pandas学习笔记(一)_第2张图片

修改行或列名
df.rename(index={'一':'one'},columns={'col1':'new_col1'})

pandas学习笔记(一)_第3张图片

调用属性和方法
df.index
Index(['一', '二', '三', '四', '五'], dtype='object')
df.columns
Index(['col1', 'col2', 'col3'], dtype='object')
df.values
array([['a', 5, 1.3],
       ['b', 6, 2.5],
       ['c', 7, 3.6],
       ['d', 8, 4.6],
       ['e', 9, 5.8]], dtype=object)
df.shape
(5, 3)
索引的对齐特性

这是Pandas中非常的强大的特性,举例如下

df1 = pd.DataFrame({'A':[1,2,3]},index=[1,2,3])
df2 = pd.DataFrame({'A':[1,2,3]},index=[3,1,2])
df1-df2

pandas学习笔记(一)_第4张图片

列的删除与添加

对于删除而言,可以用drop函数或者del或者pop
当然需要注意的是在运用drop函数时若参数inplace=True后会直接在原DataFrame中改动

df.drop(index='五',columns='col1')

df['col1']=[1,2,3,4,5]
del df['col1']
df

pop方法直接在原来的DataFrame上操作,且返回被删除的列,与python中的pop函数类似

df['col1']=[1,2,3,4,5]
df.pop('col1')

可以直接增加新的列,也可以使用assign方法
但assign方法不会对原DataFrame做修改

df1['B']=list('abc')

pandas学习笔记(一)_第5张图片

根据类型选择列
df.select_dtypes(include=['number']).head()
df.select_dtypes(include=['float']).head()

pandas学习笔记(一)_第6张图片
最后用T符号可以转置

2.常用函数

head与tail

返回最初行:Head()
返回最后行:Tail()
如果默认括号里不加参数,那么就会默认为前五行或者后五行

unique和nunique

nunique显示有多少个唯一值
unique显示所有的唯一值

count和value_counts

count返回某行某列的元素个数
value_counts返回每个元素有多少个

info和describe

info函数返回有哪些列、有多少非缺失值、每列的类型
describe默认统计数值型数据的各个统计量

df.info()

pandas学习笔记(一)_第7张图片

df.describe()

pandas学习笔记(一)_第8张图片
其中还可以自行选择分位数

df.describe(percentiles=[.05, .25, .75, .95])

对于非数值型也可以用describe函数

idxmax和nlargest

idxmax函数返回最大值所在索引,在某些情况下特别适用,idxmin功能类似
nlargest函数返回前几个大的元素值,nsmallest功能类似

df['ciol1'].nlargest(3)

pandas学习笔记(一)_第9张图片

clip和replace

clip和replace是两类替换函数
clip是对超过或者低于某些值的数进行截断
replace是对某些值进行替换

7. apply函数

此函数自由度很高,我会专门去讲解。

你可能感兴趣的:(学习,python,机器学习)