Pandas基础知识
Pandas,基础知识
2025-04-11 08:58:03 时间
常用数据类型
Series 一维,带标签数组
DataFrame 二维,Series容器
取值
- 取行: (1)
df[:20]
前20行 (2)df[:20]['列索引名']
取指定列对应的前20行 - 取列 (1)
df['列索引名']
指定列 索引名对应的一列 返回的是Series类型 - loc和iloc
loc
通过标签(即列索引)取值t.loc['a','b']
取a行b列对应的值t.loc['a']
或t.loc['a',:]
取a对应的一整行t.loc[['a','c'],['b','d']]
多行多列
iloc
通过为止(即行索引)取值t.iloc[3]
或t.iloc[3,:]
取第四行t.iloc[:,2]
取第三列t.iloc[:,[2,1]]
取第3列和第2列t.iloc[[0,2],[2,1]]
取第1行和第3行对应的第3列和第2列t.iloc[1:,:2]
取1之后每一行对应2之前每一列
bool索引
df[bool判断表达式]
如:df[(df['列索引名']>10) & (df['列索引名']<20 )]
取df中指定列索引对应的值中10-20之间的元素
缺值处理
pd.isnull(t)
返回的数组中NaN为True,否则为False
pd.notnull(t)
返回的数组中NaN为False,否则为True
t.dropna(axis=0)
删除包含NaN的行
t.dropna(axis=0, how='all', inplace=True)
- how的值为all时,某行全为NaN时才删除,为any时存在NaN则删除整行
- inplace为True时,删除之后将结果替换为当前数组。
t.fillna(值)
将NaN填充为指定的值,常填充均值等,如t.fillna(t.mean())
会将NaN对应列的均值进行填充
t['列索引名'] = t['列索引名'].fillna(t['列索引名'].mean())
只将指定索引对应的列中NaN对应的值进行填充均值
合并
join()
按行合并df1.join(df2)
merge()
按列合并df1.merge(df2, on='操作的列名', how='inner')
内连接(默认) 交集df1.merge(df2, on='a')
方法会将df1中a列的值和df2中a列的值进行比较,然后将相等的值对应的整行进行合并,而且返回的结果中只包含具有可以合并的行df1.merge(df2, on='a', how='outer')
外连接,a列包含的数据为df1和df2中a列元素的并集,每行元素分别对应,有则是原数据(一般a列的元素都有,因为操作列为a),没有则是NaN 并集df1.merge(df2, on='a', how='left')
左连接,以df1为准df1.merge(df2, on='a', how='right')
右连接,以df2为准
分组和聚合
分组: gd = groupby(by='分组字段')
返回类型是可遍历的DataFrameGroupBy类型,遍历后每一个元素为一个元组,
聚合:gd.count()
索引和符合索引
- 函数
df.index
获取indexdf.index=['x', 'y']
指定indexdf.reindex(list('abcdef'))
重新设置index,如果之前没有f行,则f行对应的数据为NaNdf.set_index('a', drop=False)
指定某一列作为indexdf.set_index('a').index.unique()
返回index的唯一值df.swaplevel()
交换符合索引的顺序 - 取值 一对多:
df.loc['一'].loc['多']
df.loc['多']['一']
df['一','多']
常与swaplevel()搭配
相关文章
- Pandas merge函数「建议收藏」
- pandas apply 应用套路详解
- 用Pandas 处理大数据的3种超级方法
- Python报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 3……
- pycharm安装pandas「建议收藏」
- Pandas GroupBy 深度总结
- Pandas DataFrame的基本属性详解
- pycharm导入pandas模块_pycharm如何导入python的库
- python怎么安装pandas库_panda 数据处理
- pandas之分组groupby()的使用整理与总结
- pycharm中导入pandas_新电脑安装软件特别慢
- Python数据分析之Pandas(三)
- 超强图解 Pandas 18 招!
- Python数据分析之Pandas(二)
- Numpy&Pandas快速上手篇
- Python Pandas PK esProc SPL,谁才是数据预处理王者?
- pandas 大文件操作
- Python数据分析之Pandas(一)
- 超级攻略!Pandas\NumPy\Matrix用于金融数据准备
- Python数据分析之Pandas(四)