将pandas 的df中的某两列(一列作为key,一列作为values)转成字典
摘要:当变量字段特别多时,我们想重命名字段名,比如说原来是英文字段名,需要改成中文字段名,而我们又有一个中英文对照的字典表。如果想批量处理,需要将中英文名映射成一个字典,然后再rename 那么如何将pandas 的df中的某两列(一列作为key,一列作为values)转成字典? 思路:首先某一列作为索引
阅读全文
posted @
2022-06-22 10:10
小小喽啰
阅读(3439)
推荐(0) 编辑
python 实现SQL 的 lag 函数的功能
摘要:首先来介绍一些SQL 的lag函数,在需要取到同一列中上n行或者下n行的值,就可以使用到lag窗口函数,在计算连续天数,或者排查数据是否连续时非常实用。 那么Python 又是怎么实现这种功能 首先我们使用的鸢尾花数据 #鸢尾花数据集 from sklearn.datasets import loa
阅读全文
posted @
2022-06-20 17:44
小小喽啰
阅读(591)
推荐(0) 编辑
pandas的str矢量化字符串处理
摘要:总结: 我们在建模时,总要做数据清洗,包括数值型和字符串型数据,下面就介绍16种str矢量化后处理字符串字段的函数 ① cat函数:用于字符串的拼接② contains:判断某个字符串是否包含给定字符③ startswith/endswith:判断某个字符串是否以…开头/结尾④ count:计算给定
阅读全文
posted @
2021-03-30 15:11
小小喽啰
阅读(865)
推荐(0) 编辑
pandas_profiling 探索性数据分析(EDA)工具
摘要:网上看到一个做EDA非常方便的模块pandas_profiling,使用该函数可以快速了解我们的数据构成以及分布,下面看看具体的实现 import seaborn as sns import pandas as pd import pandas_profiling import matplotlib
阅读全文
posted @
2021-03-29 10:50
小小喽啰
阅读(420)
推荐(0) 编辑
pd.read_html 获取网页上的表格数据
摘要:一、pd.read_html 参数 函数参数 pandas.read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, thousa
阅读全文
posted @
2021-03-26 18:12
小小喽啰
阅读(4440)
推荐(1) 编辑
pd.pivot不做聚合运算,可以保留作为values那一列的原值
摘要:有时候我们做透视表不需要做聚合运算,或者是作为value哪一列的值有多种形式,比如说里面有数值型还有日期类型,如果做聚合,那么就不能运算成功,又或者是values值是中文,我们想保留中文,那么可以使用pd.pivot() tmp = pd.pivot(data=hd_data,index=['app
阅读全文
posted @
2021-03-12 11:30
小小喽啰
阅读(498)
推荐(0) 编辑
df找出每行最大值所在的列名是什么
摘要:我们想要按照每行去找出TOPn个值,比如说,每个列名是每个学科的名字,每一行代表一个学生,我们想找出每个学生前3高分数是多少,又或者是前3高分数的学科是什么,那么就可以这样去是实现 #找出分数 x=chedai_copy[tree_col].iloc[0:1,:].values x[0,np.arg
阅读全文
posted @
2021-03-09 15:45
小小喽啰
阅读(427)
推荐(0) 编辑
Dataframe.swaplevel 交换复合索引的level
摘要:我们在使用透视表之后,可能要讲复合索引列调一下位置,比如说下面的: 我们想要讲1个月内,3个月内等放在前面,即是 那么就可以使用Dataframe.swaplevel, DataFrame.swaplevel(i=- 2, j=- 1, axis=0) 前面的i,j使用默认值即可,后面的{0或'in
阅读全文
posted @
2021-02-22 15:52
小小喽啰
阅读(894)
推荐(0) 编辑
python dict update函数
摘要:Python 字典(Dictionary) update() 函数把字典dict2的键/值对更新到dict里。 dict.update(dict2) dict2 -- 添加到指定字典dict里的字典。 该方法没有任何返回值。 dict = {'Name': 'Zara', 'Age': 7} dic
阅读全文
posted @
2021-02-22 10:11
小小喽啰
阅读(484)
推荐(0) 编辑
pandas 实现sql中的rank over 功能
摘要:SQL里面可以实现根据某些字段去排序,然后在后面添加一列rank,pandas 也可以实现这种功能,如: fd = data_build[data_build.loantype_group=='房贷'] fd['rank'] = fd.groupby(["ref_id","opendate"])["
阅读全文
posted @
2021-02-03 11:58
小小喽啰
阅读(411)
推荐(0) 编辑
pandas 找出某列最大值的所在的行
摘要:比如说,要根据某一列的最大值找出每个人所在的行,或者说找出每个人数学成绩最高的那一年 gjj_data_meger.groupby('reportno').apply(lambda t: t[t.gettime==t.gettime.max()]) 但是要注意的是,这一些的值需要是能用max()计算
阅读全文
posted @
2021-01-19 17:01
小小喽啰
阅读(5285)
推荐(0) 编辑
pandas 查看某列的值有重复值,并将这些重复值找出来
摘要:我们先知道某一列是否有重复值,并将这些重复值找出来 a = zongti.groupby('reportno').count()>1 a[a['ref_id'] == True].index #里面的列,随便一列都行 结果: Index(['2016122100003477314271', '201
阅读全文
posted @
2021-01-12 17:39
小小喽啰
阅读(6929)
推荐(0) 编辑
df 根据某列去拆分或者合并
摘要:一、拆分 如果是拆分,那么那一列的值应该是list类型,比如: 我们需要根据data_list列去拆分,至于我怎么只挑了一个ID列和待分裂列,那是方便操作,剩余的我们可以使用merge,我就不赘述了 newvalues=np.dstack((np.repeat(t.reportno.values,l
阅读全文
posted @
2020-12-25 11:37
小小喽啰
阅读(1300)
推荐(0) 编辑
计算有多个开始结束日期的总历时月份或者年份
摘要:比如说用户有多笔贷款,每个贷款都有开始和结束时间,那么我们需要计算用户需要还款的总的月份(年份)(或者说贷款持续时间),如: 我们需要计算用户需要还款的月份数,以便于后面计算平均月供,由于有些日期是重合的,我们就不能计算多次。还有一些是跳跃的,也不能多计算,不能直接使用最大最小时间去计算差值 有两种
阅读全文
posted @
2020-12-25 10:01
小小喽啰
阅读(278)
推荐(0) 编辑
pandas isin 和not in
摘要:查找df 中存在某些字段,可以使用isin,但是没有not in ,我们可以这样实现 # IN count_df[count_df.reportno.isin(t_reportno)] # NOT IN count_df[~count_df.reportno.isin(t_reportno)] 其中
阅读全文
posted @
2020-12-22 19:41
小小喽啰
阅读(1460)
推荐(0) 编辑
计算datetime.date n个月后(前)的日期
摘要:我们很想有一个函数可以实现日期+n,就能得到日期n个月后的日期,比如说2020-12-10 +2 =2021-02-10,那么该如何实现: import datetime from dateutil.relativedelta import relativedelta if __name__ ==
阅读全文
posted @
2020-12-22 14:21
小小喽啰
阅读(735)
推荐(0) 编辑
pandas 重命名MultiIndex列
摘要:复合列名不好引用,我们想重新命名,假如有如下表: 我们直接使用重命名 card_state_nouse = card_state_nouse.rename(columns={('ref_id', 'count'):'weijihuo_count',('creditlimitamount', 'sum
阅读全文
posted @
2020-12-21 15:50
小小喽啰
阅读(2932)
推荐(1) 编辑
pandas.DataFrame.resample()重新采样时间序列数据
摘要:重新采样时间序列数据 频率转换和时间序列重采样的便捷方法。对象必须具有类似datetime的索引(DatetimeIndex, PeriodIndex或TimedeltaIndex),或将类似datetime的值传递给on或level关键字 DataFrame.resample(rule, axis
阅读全文
posted @
2020-12-18 16:42
小小喽啰
阅读(1580)
推荐(0) 编辑
pandas rolling()根据时间窗口计算滚动(时间序列有关)
摘要:这个函数的主要作用是根据时间(天,月,季度,年等)去看看数据的变化趋势,是下降了还是上升了,最后还要分析趋势的原因,结合业务逻辑去分析 可以根据某个时间周期,计算数据的变化,主要用于时间序列上面 DataFrame.rolling(window,min_periods = None,center =
阅读全文
posted @
2020-12-18 15:35
小小喽啰
阅读(5782)
推荐(0) 编辑
pandas astype()将数据转化为指定的数据类型(可多列操作)
摘要:功能:将pandas对象转换为指定的dtype DataFrame.astype(dtype,copy = True,errors = 'raise') 参数: dtype:data type, or dict of column name -> data type,使用numpy.dtype或Py
阅读全文
posted @
2020-12-18 15:02
小小喽啰
阅读(6043)
推荐(0) 编辑