Pandas学习
DataFrame和Series
DataFrame
df = pd.read_csv()
返回一个DataFrame对象,对象是二维表。
Series是一维的数据结构
可以手动指定names=name_list
,表示columns叫啥
这个对象有很多属性
.index:RangeIndex,读入时,会默认指定行号,从0开始
.columns:列的名称
.shape:这个表长啥样,几行几列
.dtypes:每一列的数据类型
df.head():查看前数列
Series
创建一个Series:
series = pd.Series([1,'1',2], index = [1, 'b', 3])
series.index和dataframe的index一样,也是总共几个,步长多少
从DataFrame查询Series
DataFrame可以看作是有Series组成的字典,可以通过表示行的index访问,也可以通过表示列的columns访问。
如果查出来的是二维的,那么就是DataFrame,如果是一维的,就是Series。
查询一行:df.loc[index]
查询多行:df.loc[index_1:index_2]
查询一列:df[column_label]
从DataFrame查询数据
- df.loc:根据index和查询,甚至可以写入,常用
- df.iloc:
- df.where
- df.query
主要是loc[]的使用
参考:https://blog.csdn.net/weixin_45144170/article/details/106033436
loc[index/index_list/index_slice, label/label_list/label_slice]
条件表达式的查询
df.loc[expr, label_slice]
df['label'] > 0
返回一个bool类型的Series,index和原dataframe一样,
可以把这个Series放到loc[]里,挑选出符合条件的行们。
杂接口
df.set_index()
df默认index时是0开始,我们可以把index设置为某个column的值,然后再把这个列删掉。
参考: https://blog.csdn.net/lisnyuan/article/details/107086094