参考:GitHub - hangsz/pandas-tutorial: 适合初级到中级晋升者,有了体系之后就看熟练度了。
仅为自用
一、数据框的基本结构
dataframe 主要有四个组成部分 columns 列名称,index行索引,values(data)二位数组 ,dtypes(每一列)的元素类型。
note:数据框的创建是一行一行地写数组
二、数据框的创建
从csv创建
pd.read_csv(filepath_or_buffer, sep=',', header='infer', names=None,
index_col=None, encoding=None )
注意header和name的关系
三、数值统计与运算
sum(), mean(), std(), var(), min(), max(), median() 这些方法默认下按列进行运算。
count() 查看非NaN元素个数,axi=0按列计数
四、时间的相关操作
pd.to_datetime() 常用有三个参数
arg:表示要处理的列,比如 df['str_time2']。
format:如果列的内容为字符串,用format方法确定如何读取字符串,比如%Y-%m-%d %H:%M:%S
unit:如果列的内容为int,用unit方法确定秒的精度,比如unit=“s“
4.1 对于数据类型为datetime的列,在后面加上dt后即可对其进行时间组件上的操作
df[summer_vaca].dt.year /month/day/hour/minute/second
df[summer_vaca].dt.date / time
df['utctime1'].dt.ceil(freq="H") ,向上取整。 floor,向下取整。 round,就近取整
五、object对象类型的处理
object对象指的是数据类型为字符串,字典,列表的列
常用方法直接套用对应方法即可,但是要加.str,比如df['list'].str.get(1) #取第1个位置的量
六、Dataframe的增删查改
6.1Dataframe的快捷查询[]
运用[]对df进行快捷查询,对列有两种,对行有一种
对列:df[“1”] 、df[ [ “1","2" ] ] 注意:对列快速查询必须给列名 ,“1”,对多个列查询必须要传列表。
对行:df[ 0:2 ] 对行快速查询必须用位置,而不是用索引,左闭右开, 中间是 :
6.2使用loc()进行查询
用此方法查询基于 index 和columns
df.loc[ "b" , "B”] 逗号前与逗号后均为index,需要带上双引号。注意使用逗号分开。
df.loc[ ["a","b"] , "B"] 可以在内部使用[]对多个行/列进行查询。逗号区分维度,但是[]又让维度低一级
补充:貌似用loc可以代替iloc的功能,左闭右闭
6.3使用iloc()进行查询
方法与loc相同,只不过从使用索引转变为使用位置,同样是左闭右开。
6.4数据的修改
只需要在查询的基础上进行赋值即可。 注意:对于多行多列的数据框赋值,不建议一次性传入,可以写循环逐行或者逐列传入 df.iloc[[1,2,3,4], i ]
6.5索引的修改
推荐使用df.rename()方法进行修改
DataFrame.rename(index=None, column =None, level=None, inplace=False)
待更新,增加与删除