PYTHON
penny1218
学习记录
展开
-
python 安装 graphviz 包(Mac)
Mac 安装 graphviz原创 2022-11-07 15:12:20 · 836 阅读 · 1 评论 -
dataframe_缺失率筛选
dataframe-预处理原创 2022-07-07 11:27:58 · 216 阅读 · 0 评论 -
PYTHON_数据切分(pd.cut,pd.qcut)
本文仅为个人学习记录,如有不准确的地方,欢迎指正,谢谢!1.等宽:data['col_new']=pd.cut(data['col'],10)2.等频:data['col_new']=pd.qcut(data['col'],10)相同操作:1.返回切分点,retbins=Truedata['col_new'],cut_bins=pd.qcut(data['col'],10,retbins=True)2.在新的数据源上,使用之前的切分点data_new['col_new2']=pd.cut原创 2021-10-27 17:01:17 · 2516 阅读 · 0 评论 -
python_小tips
**本文为python 学习过程中可能遇到的小错误,持续更新**1.变量命名,是不能用数字开头的。原创 2021-10-26 15:28:53 · 71 阅读 · 0 评论 -
spyder-更新
更新spyder版本:conda install spyder=5.0.0安装第三方库,出现timeout error:pip --default-timeout=100 install pandas(100不够改1000)原创 2021-06-01 15:29:22 · 7977 阅读 · 2 评论 -
PYTHON_内置文档
选中要查询的包,Windows用户按住键盘上的Ctrl键,点击鼠标左键,Mac用户按住键盘上的Command键,点击鼠标左键原创 2020-12-25 15:31:48 · 124 阅读 · 0 评论 -
PYTHON_函数应用
# 函数应用data['test']=np.where((data['col']>1) & (data['col1']==3),1,0)data['test']=data.apply(lambda x :1 if x['col']>1 else 0,axis=1)data['test']=list(map(lambda x,y : 1 if x >1 and y==3 else 0,data['col'],data['col2'] ) #这种比较快...原创 2020-12-11 16:04:27 · 76 阅读 · 0 评论 -
PYTHON_多行合并
#对数据按照A,B两列分组后,其他列,多行拼成一个字符串data=data,groupby(['col1','col2']).agg(lambda x:','.join(x.astype('str'))).reset_index(drop=False)data=data,groupby(['col1','col2']).agg(lambda x:','.join(x.astype('str'))).reset_index(drop=False)#以下是对数字求和df.groupby(['col1原创 2020-12-03 17:40:30 · 1035 阅读 · 0 评论 -
PYTHON_拆表(行列转置)
|apply_no| key |value|111|a1|5|111|a2|6|111|a3|7|222|a1|3|222|a2|4|222| a3| 9#假设数据如上data=data.pivot(index='app_no',columns='key',values='value')#转置后的数据如下|apply_no| a1 |a2|a3|111 |5 |6 |7|222 |3 |4 |9#如果要恢复之前的数据data=原创 2020-12-02 16:50:15 · 688 阅读 · 0 评论 -
PYTHON_两列字符串对应匹配
#假设A列和B列都是用逗号分隔的字符串,C列为包含日期的一个字符串,#以下函数对B列做筛选后,找到匹配的A列的最大值,用A列的最大值与C列的日期取月份差def ColumnMapping(x,y,z): list1=list(x.split(',')) list2=list(y.split(',')) list_merge=list(zip(list1,list2)) max_month=max([j[0] for j in list_merge if j[1] in [1,2]])#对y列的值原创 2020-12-02 14:37:14 · 1684 阅读 · 0 评论 -
PYTHON_排序
#1.按列名排序data=df.sort_index(axis=1,na_position='last') #默认升序,缺失值默认排在最后#2.按一列的值排序data=df.sort_values(by=['col1','col2'],ascending=[True,False]) #按第一列升序,第二列降序排序原创 2020-11-11 16:17:38 · 66 阅读 · 0 评论 -
PYTHON_sqlite
import pandas as pdimport sqlite3cx=sqlite3.connect(path+'database.db')cur=cx.cursor()#1.查询建表语句cur.execute("select sql from sqlite_master where tbl_name='table1' and type='table' ")print(cur.fetchall())#2.查看有哪些表cur.execute('select name from sqlite_原创 2020-10-27 17:05:23 · 72 阅读 · 0 评论 -
PYTHON_字符串
data['col2']=data[['col1']].apply(lambda x :x.str[0:8],axis=1)data['col2']=data['col1'].apply(lambda x:x[0:8])原创 2020-10-27 15:58:44 · 199 阅读 · 0 评论 -
PYTHON_数据替换
#1.多对1data.replace(['a','b'],'c')#2. 1对1data.replace({'a':'not a ','b':'not b'})data.replace('a':'not a ')原创 2020-10-27 15:54:52 · 1304 阅读 · 0 评论 -
PYTHON_缺失填充
#1.绝对值填充data['col1'].fillna('-999')#2.均值填充data['col1'].fillna(data['col1'].mean())原创 2020-10-27 15:42:08 · 104 阅读 · 0 评论 -
PYTHON_读取数据源
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片原创 2020-10-22 16:22:31 · 368 阅读 · 0 评论 -
PYTHON_数据拼接
#1.mergeimport pandas as pddata=pd.merge(AA,BB,how='left',left_on="aa",right_on="bb")data=pd.merge(AA,BB,how='left',left_index=TRUE,right_index=FALSE)#2.CONCATdata=pd.concat([AA,BB],join='inner',axis=0,ignore_index=TRUE)#axis=0 表示上下合并,axis=1表示左右合并,默认原创 2020-10-23 11:43:36 · 995 阅读 · 0 评论 -
PYTHON_数据筛选
#1.筛选行data[(data['col1']>5) & (data['col1']<10)]data[data['col1']==1]data[data['col1'].isin([3,4])]data[~data['col1'].isin([3,4])] #反向筛选data.loc['index1'] #按索引筛选行data.iloc[0:5] #筛选前5行#2.筛选列data[['col1','col2']]data.iloc[:,0:2] #筛选前两列da原创 2020-10-23 16:17:52 · 526 阅读 · 0 评论 -
PYTHON_数据去重
#1.数据集按列去重data.drop_duplicate(subset=['col1','col2'],keep='first',inplace=TRUE) #keep 默认first,inplace 是否在本数据集修改#2.数据集按索引去重data[~data.index.duplicated(keep='last')] #keep=last,则最后last为FALSE,前面重复的全部返回true# 3.单列去重data['col1'].drop_duplicate()...原创 2020-10-26 11:09:58 · 319 阅读 · 0 评论 -
PYTHON_设置索引
#1.设置索引data=data.set_index(['col1'],inplace=TRUE,drop=FALSE) #inplace=TRUE,drop=FALSE保留这一列,默认不保留#2.重置索引data.reset_index(inplace=True,drop=False)#drop=true 直接丢弃之前的索引,否则生成一个列名为‘INDEX’的列,如果这个索引本身有名字的话,则生成一个有名字的列#3.更改索引列的名字data.index.name='index2'...原创 2020-10-26 18:30:39 · 4694 阅读 · 0 评论 -
PYTHON_分组(groupby,value_counts)
#1.全部数据集data.groupby('col1').count() #单列分组data.groupby(['col1','col2']).mean() #多列分组#筛选部分列data.groupby('col1')['col2','col3'].count()data[['col1','col2','col3']].groupby(by=['col3']).count()data['col1'].groupby(data['col2']).size()#3.多种聚合data.gro原创 2020-10-27 15:16:47 · 1559 阅读 · 0 评论 -
PYTHON_格式转换
#1.查看数据类型data.info()data.dtypesdata['col1'].dtypes #查看一列数据类型#2.转换数据格式data['col1'].astype("str")#3.转日期import pandas as pddata_dt=pd.to_datetime(df['col1'],formate='%Y/%m/%d')data_dt.dt.year #提取年 month,day,weekday,hour,minute,second#4.转字符from d原创 2020-10-27 15:39:11 · 497 阅读 · 0 评论