- Pandas引入\
import pandas as pd#为了方便实用pandas 采用pd简写
- Pandas数据结构
①Series
import pandas as pd
s=pd.Series(['a',1,2,'ba'])
print(s) #索引在左边,值在右边,默认索引0开始
② DataFrame
DataFrame是表格型数据结构,包含一组有序的列,每列可以是不同的值类型。DataFrame有行索引和列索引,可以看成由Series组成的字典。
import pandas as pd
import numpy as np
dates=pd.date_range('20180310',periods=6) #返回一个DatetimeIndex
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=['A','B','C','D'])#生成6行4列位置
print(df)#输出6行4列的表格
- 常用方法
①Series
import pandas as pd
s = {"ton": 20, "mary": 18, "jack": 19, "jim": 22, "lj": 24, "car": None}
sa = pd.Series(s, name="age")
⑴范围查找 sa[sa>19] #sa为Seriess纯数字 类型,多条件可为sa[sa>19][sa<23]
⑵中位数 sa.median()
⑶判断是否大于中位数 sa>sa.median()
⑷找出大于中位数的数 sa[sa > sa.median()]
⑸赋值 sa['ton'] = 99 #sa[sa>19]=20 统一赋值
⑹对象数学运算=对应所有值的运算.#sa*2 =sa中所有的数都乘以2 返回新的Series
②DataFrame
df=pd.DataFrame({'A' : 1.,
'B' : pd.Timestamp('20180310'),
'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'
})
⑴df.index #返回行索引
⑵df.columns #返回列索引
⑶df.dtypes #返回每列对应的数据类型
⑷df.values #返回所有值,类型为 numpy.ndarray
⑸df.describe() #返回对象中数字的总结,包括(count,mean,std,min,25%,50%,75%,max) 类型为DataFrame
⑹df.T #将行 列进行翻转 返回一个新的DataFrame
⑺df..sort_index(axis=1, ascending=False))#axis等于1按列进行排序 如ABCDEFG 然后ascending倒叙进行显示
⑻df..sort_values(by='E'))#按值进行排序
⑼
- 数据选择
①df[‘A’] 或者df.A # 选择A列
②切片 df[0:3] df[‘20180310’:‘20180314’])#两次进行选择 第一次切片选择 第二次按照筛选条件进行选择
③df.loc[‘20180312’, [‘A’,‘B’]]) #精确选择,切片选择
④df.loc[:, [‘A’,‘B’]] #行索引[:],列索引[‘A’:‘B’] 的数据
⑤df.iloc[3, 1] #行索引为3,列索引为1的数据,df.iloc[1:3,1:2] 切片