★★Python Package
pands、numy等package笔记
维格堂406小队
人天生都是软弱的,唯其软弱而犹能承担起苦难,才显出人的尊严。
展开
-
PyPackage02---Numpy01_flatten用法
Intro 对于numpy中的多维数组,需要将其转换成1维。此时可以用flatten方法。相关环境和package信息:import sysimport pandas as pdimport numpy as np print("Python版本:",sys.version)print("numpy版本:",np.__version__)Python版本: 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)]原创 2020-09-03 17:18:57 · 156 阅读 · 0 评论 -
PyPackage01---Pandas17_null、inf筛选
判断数据集是否存在null、inf,快速定位所在列、行,方便分析原因。原创 2023-07-26 16:52:22 · 416 阅读 · 0 评论 -
PyPackage01---Pandas16_apply返回多个值时的索引问题
pandas使用apply函数或者groupby函数返回多个值时,会出现返回多个索引的问题,介绍下解决方法。原创 2022-11-27 15:17:46 · 509 阅读 · 1 评论 -
PyPackage01---Pandas15_query in 列表及str正则匹配
Introquery in的用法对 dataframe的某个列,执行正则匹配,筛选相应行query inimport pandas as pddf = pd.DataFrame({"x": [1, 2, 3], "y": ['ab', 'bc', 'cd']})df.query("x in [1,2]") x y 0 1 ab原创 2022-04-25 11:04:30 · 2350 阅读 · 0 评论 -
PyPackage01---Pandas14_对类别型变量做映射
Intro有时候,需要把字符串当做代码执行,看个例子getattrGet a named attribute from an object; getattr(x, ‘y’) is equivalent to x.yimport pandas as pddf=pd.DataFrame({"x":[1,2,3]})getattr(df,"x").count()3getattr(df,“x”)相当于df.x如果想执行df.x*2怎么弄?evaleval("df.x*2")0原创 2022-01-14 10:09:43 · 292 阅读 · 0 评论 -
PyPackage01---Pandas13_比较两个df是否一致
Intro检查两个df是否完全一致import pandas as pdfrom pandas.testing import assert_frame_equalx1=pd.DataFrame({"x1":[1,2],"x2":[2,3]})x2=pd.DataFrame({"x1":[1,2],"x2":[2,3]})x3=pd.DataFrame({"x1":[1,2],"x2":[2,4]})def is_df_equal(df1,df2): try: ass原创 2021-11-18 15:50:06 · 1911 阅读 · 0 评论 -
PyPackage01---Pandas12_print dataframe
print dataframe时的参数控制,index和列间隔。直接看代码~去除indeximport pandas as pdpd.__version__'1.1.5'df = pd.DataFrame({"id":[1,2,3],"name":["jordan","kobe","duncan"],"team":["Bulls","Lakers","Spurs"]})print(df) id name team0 1 jordan Bulls1原创 2021-06-08 16:56:41 · 139 阅读 · 0 评论 -
PyPackage01---Pandas11_explode方法使用
Introhive中有explode方法,进行单行转多行的操作。pandas也有类似的功能,versionadded:: 0.25.0。直接看个case。Signature: df1.explode(column: Union[str, Tuple], ignore_index: bool = False) -> 'DataFrame'Docstring:Transform each element of a list-like to a row, replicating index valu原创 2021-03-25 14:31:13 · 180 阅读 · 0 评论 -
PyPackage01---Pandas10_apply方法使用
Intro R里面apply族函数很强大,原来以为python的是阉割版,没想到也很强大,还是需要多看看文档。。。相关环境和package信息:import sysimport pandas as pdimport numpy as np print("Python版本:",sys.version)print("pandas版本:",pd.__version__)print("numpy版本:",np.__version__)Python版本: 3.7.0 (default, Jun原创 2020-07-12 22:23:48 · 222 阅读 · 0 评论 -
PyPackage01---Pandas09_从字典创建dataframe
Intro很简单的需求,不多说,直接看代码import pandas as pd pd.__version__'0.23.4'Demodict1 = {"x1": 1, "x2": 2, "x3": 3}pd.DataFrame(dict1)---------------------------------------------------------------------------ValueError Tra原创 2020-05-18 16:14:55 · 244 阅读 · 0 评论 -
PyPackage01---Pandas08_合并list中的dataframe
Intro 需求很明确,有一个list,每个元素都是一个dataframe,其中dataframe的列数相同。希望把这些子数据框合并成大的数据框。这个list是多线程计算返回的结果,在R里可以直接用do.call函数,那么python中怎么用呢?先看版本信息:系统:in10Python:3.7.0(python --version)Pandas:0.23.4数据构造import pandas as pd # sample dataframesd1 = pd.DataFrame({'o原创 2020-05-18 14:05:43 · 1241 阅读 · 0 评论 -
PyPackage01---Pandas07_设置pandas打印行列数
在jupyter中默认展示pandas dataframe的部分列和部分行,此时可以通过设置进行调整import pandas as pdpd.set_option('display.max_rows', 500) # 打印最大行数pd.set_option('display.max_columns', 500) # 打印最大列数 ...原创 2020-02-23 23:22:23 · 2303 阅读 · 0 评论 -
PyPackage01---Pandas06_取子集subset
简单的可以分为两类,一类是单纯的行,列取子集(以索引筛选);另一类是筛选出符合要求的子集。先介绍简单的行列subset,后介绍条件筛选。import pandas as pdx = pd.DataFrame({'x1':[1,2,3],'x2':[4,5,6],'x3':[7,8,9]})x x1 x2 x3 ...原创 2018-10-13 15:03:50 · 5626 阅读 · 1 评论 -
PyPackage01---Pandas05_分组统计groupby
groupby是使用频率很高的,这里介绍三种用法:常规的统计把groupby的变量从index变为一列groupby的一些复杂用法,主要用apply方法pandas版本import pandas as pdpd.__version__'0.23.4'数据构造label = [0,0,1,1,0,1,0,1,0,1]sex = ["male","female","ma...原创 2020-02-29 16:38:56 · 258 阅读 · 2 评论 -
PyPackage01---Pandas04_实现SQL中分组排序
hive中经常会用到row_number这个函数,比如取用户第n次购买,前n次购买记录等等。那么python中如何实现呢?直接看个例子即可下面是a、b两个用户购买的记录,user为用户名,amount为消费金额,要去按照user分组,组内按照amount降序排序,并且新增一列标识序号import pandas as pddf = pd.DataFrame({'user':['a','a','...原创 2018-12-05 09:26:36 · 1027 阅读 · 0 评论 -
PyPackage01---Pandas03_排序sort_values
1 排序 按照某一列的大小进行排序。Py3目前提供两个函数。 1.1 sort_index 这个函数似乎不建议使用了,推荐使用sort_values详情参看:官方文档。 ## 参数sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='las...原创 2018-06-11 10:42:00 · 101892 阅读 · 13 评论 -
PyPackage01---Pandas02_汇总和频数统计
单变量频数统计&多变量分组统计中的相关方法~1. count&unique&nuniqueimport pandas as pdtest_data = pd.DataFrame({ 'x1': ["a", "b", "c", "b"], "x2": [1, 2, 3, 4], "x3": [4, 3, 2,原创 2018-10-13 16:24:10 · 38390 阅读 · 5 评论 -
PyPackage01---Pandas01_合并merge &concat
1 Merge 数据合并的操作,类似于SQL中的关联。详细内容参看:官方文档。 1.1 参数DataFrame.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), ...原创 2018-06-11 16:09:26 · 1516 阅读 · 0 评论 -
PyPackage01---Pandas00_DataFrame
pandas DataFrame基础操作,不定时update创建数据框构造两个数据集df1:用户基础属性,年龄、性别、注册时间df2:用户交易属性,交易时间、支付金额从dict创建import pandas as pduserid = list(range(1, 6))sex = ["male", "female","male", "female","male"]creat...原创 2020-02-29 17:12:34 · 206 阅读 · 0 评论 -
PyPackage00---install02_MAC安装xgboost
有了lightgbm的安装经验,xgboost是方便了不少。直接上步骤吧。1. 环境MAC: macOS High Sierra 10.13.4Python: python3.62. 安装xgboost下载xgboostgit clone --recursive https://github.com/dmlc/xgboost注意下载路径,默认下载在当前路径2. 复制配置文...原创 2018-11-23 19:51:26 · 500 阅读 · 0 评论 -
PyPackage00---install01_Mac安装lightgbm
安装lightgbm需要编译,mac的某些命令行指令又不是很熟,所以坑有点多。记录之~1. 环境MAC: macOS High Sierra 10.13.4Python: python3.62. 安装lightgbm2.1 homebrew安装具体不赘述,参看博客http://www.cnblogs.com/lzrabbit/p/4032515.html2.2 homebrew设...原创 2018-11-23 18:22:07 · 2053 阅读 · 1 评论