为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas 使用方法总结

标签:
Java
  1. index: 如何定义名称,如何回复从0到N排序, 如何删除/增加某一行,如何根据条件获取某些行

  • 如何回复从0到N排序:frm.rename(index=lambda x: x + 1)/frm.reset_index(drop=True)

  • 如何删除某一行 frm.drop([x,y]),

  • 增加某一行 :df.insert(idx, col_name, value)

  • 根据条件获取某些行 :frm['col'].isin([key])

  • 根据条件获取某些行:frm['col'].str.contains(正则表达式内容)

  • 根据条件获取某些行 :frm[frm['col']>xx]

columns: 如何改变名称,如何删除/增加某一列, 如何根据条件获取某些列

  • 改变列名:frm.rename(columns={'old_name': 'new_ name'})

  • 改变列名 :frm.columns = ['a','b','c']

  • 增加列: frm['new_col'] = list

  • 删除列: frm.drop(['col'],axis=1)

  • 根据条件获取某些列   frm.groupby(col)       frm.groupby([col1,col2])

series: 如何加减乘除? 如何实现向量点乘?如何去重? 如何转化为dict和list? 如何对所有的元素执行某个函数从而获取新的series? 如何排序?如何求平均值,最大值,最小值.

  • dict返回的是dict of dict;list返回的是列表的字典;series返回的是序列的字典;records返回的是字典的列表

  • series1 = series.to_dict(orient='dict')

  • series2 = series.to_dict(orient='list')

  • series3 = series.to_dict(orient='series')

  • series4 = series.to_dict(orient='records')

  • 加减乘除:series +-x/  xx

  • 向量点乘:pd.dot(series1, series2)

  • 去重:series.unique()

  • dict,list:

to_dict的各种情况
- 'dict' (default) : dict like {column -> {index -> value}}
- 'list' : dict like {column -> [values]}
- 'series' : dict like {column -> Series(values)}
- 'split' : dict like {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}
- 'records' : list like [{column -> value}, ... , {column -> value}]
- 'index' : dict like {index -> {column -> value}}
  - 对DataFrame中的每一列应用函数func: series.apply(func)
  - 对DataFrame中的每一行应用函数func: series.apply(func,axis=1):
  - 排序: series.sort_values()
  - 最大值: series.max()
  - 最小值: series.min()
  - 平均值: series.mean()
  1. loc: 如何根据行序号来获取某一行? 如何根据行列值获取一个值?

  • 根据行序号来获取某一行: frm.iloc[x]

  • 如何根据行列值获取一个值:frm.loc[x,y]/frm.loc[i:col]

frm: 如何从dict,list中创建frm,如何实现两个frame之间的合并? 两个frm之间如何加减乘除?

  • 从dict中创建frm: pd.DataFrame.from_dict/pd.DataFrame(dict)

  • 从dict,list中创建frm: pd.DataFrame(list)

  • 实现两个frame之间的合并:pd.merge(frm1.frm2)

  • 两个frm之间加减乘除: frm1 +-*/ frm2

values: 是什么数据类型? 如何实现两个values之间的矩阵乘法?

  • ndarray

  • 矩阵乘法:(values1.T)*values2

date: 如何获取一段连续的日期?

  • pd.date_range('1900/1/30', periods=xx)

细节: 把一个整数列的某一个元素赋值为None会发生什么

  • 这一个整数列都变成float格式

如何分组求和,求平均?(利用groupby);

  • 分组求和:frm.groupby([col]).sum() :对col列下的值所在行的其他列的值进行求和

  • 分组求平均:frm.groupby([col]).mean()
    group_by用法可见此链接pandas groupby用法

如何对一列转化为类型?(用astype)

  • 转化类型:frm[[col]] = frm[[col]].astype(type)

如何将dataframe保存到本地html或者pickle文件?

  • frm.to_html()

  • frm.to_pickle()

如何更改index的col名?

  • frm.index.name = "new_name"

如何更改column的顺序?

  • frm = frm.reindex(columns = [....])



作者:000ps
链接:https://www.jianshu.com/p/876be34b59c8


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消