数据分析
hooyying
这个作者很懒,什么都没留下…
展开
-
使用python-docx在word文档中查找书签,并在书签处写入数据
【代码】使用python-docx在word文档中查找书签,并在书签处写入数据。原创 2023-11-28 22:45:19 · 1073 阅读 · 0 评论 -
On Error Resume Next,On Error Goto 0是什么
语句和语句指明了当出现"运行时错误"时的处理方式。当加上On Error Resume Next语句后,如果后面的程序出现"运行时错误"时,会继续运行,不中断。当加上On Error Goto 0语句后,如果后面的程序出现"运行时错误"时,会显示"出错信息"并停止程序的执行。Err对象重要的属性有三个:Number, Source, Description。分别是错误号,错误来源,错误描述。转载 2023-09-24 15:23:30 · 376 阅读 · 0 评论 -
R语言使用插补法,补齐缺失值
sleep.new$Span[is.na(sleep.new$Span)]原创 2023-03-13 23:47:36 · 1858 阅读 · 1 评论 -
pandas使用datetime作为索引并用groupby调用tseries.offsets时间位移分组
import numpy as npimport pandas as pdfrom datetime import datetimefrom pandas.tseries.offsets import Day, MonthEndsj = pd.Series(np.random.randn(20), index=pd.date_range('1/15/2022', periods=20, freq='3d'))sj2022-01-15 0.85296520原创 2022-05-08 13:45:29 · 903 阅读 · 0 评论 -
pandas使用[]单中括号和[[]]双中括号的区别
close_px = pd.read_csv(u'https://gitee.com/pan19/data-source/raw/master/stock_px_2.csv', parse_dates=True, index_col=0)close_px.info()close_px.head(10)type(close_px[‘SPX’]) 返回 pandas.core.series.Seriestype(close_px[[‘SPX’]]) 返回原创 2022-05-01 15:26:07 · 2190 阅读 · 0 评论 -
pandas的groupby函数使用lambda作为参数进行分组
使用以下数据集close_px = pd.read_csv(u'https://gitee.com/pan19/data-source/raw/master/stock_px_2.csv', parse_dates=True, index_col=0)close_px.info()close_px.head(10)如果lambda什么也不做,只是打印,可以看到groupby默认使用索引进行分组show_index = lambda x: print(原创 2022-05-01 15:03:24 · 2013 阅读 · 0 评论 -
pandas使用cut分割区间继而用groupby对数据分组
ages = np.array([1,5,10,40,36,12,2,2,67,45,90,3,6,8,23,45,12,15,17,22,4,33,28,56,58,62,77,89,100,18,20,25,30,32]) #年龄数据quartiles=pd.cut(ages, [0,6,12,17,45,69,100], labels=[u"婴幼儿",u"儿童",u"青少年",u"青年",u"中年",u"老年"])quartiles输出['婴幼儿', '儿童', '儿童', '中年', '中原创 2022-05-01 00:50:27 · 1799 阅读 · 2 评论 -
pandas用列表进行分组
people = pd.DataFrame(np.random.randn(5, 5), columns=['a', 'b', 'c', 'd', 'e'], index=['Joe', 'Steve', 'Wes', 'Jim', 'Travis'])people.iloc[2:3, [1, 2]] = np.nan # Add a few NA valuespeople a原创 2022-04-18 23:31:52 · 531 阅读 · 0 评论 -
pandas的reset_index()和rename()函数分不清?
reset_index()主要用于重置索引假设如下数据集的索引为date、itemdate item 1959-03-31 23:59:59.999999999 realgdp 2710.349 infl 0.000 unemp 5.8001959-06-30 23:59:59.9原创 2022-04-10 22:41:58 · 1487 阅读 · 0 评论 -
pandas利用pd.Index和df.reindex函数提取相应列
假设存在以下数据集 realgdp realcons realinv realgovt realdpi cpi m1 tbilrate unemp pop infl realint0 2710.349 1707.4 286.898 470.045 1886.9 28.98 139.7 2.82 5.8 177.146 0.00 0.001 2778.801 1733.7 310.859 481.301 1919.7 29.15 141.7原创 2022-04-10 22:16:31 · 2768 阅读 · 0 评论 -
pandas的stack和unstack详解
frame = pd.DataFrame(np.arange(12).reshape((4, 3)), index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]])frame形成一个二维数组 0 1 2a 1 0 1 2 2 3 4 5b 1 6 7 8 2 9 10 11unstackunstack先把内层索引逆时针旋转到列索引,内层索引对应几列,就形成几个列原创 2022-04-06 00:04:13 · 1683 阅读 · 0 评论 -
pandas中访问使用多个索引的Series
data = pd.Series(np.random.randn(9),\ index=[['a','a','a','b','b','b','c','c','c'], [1,2,3,1,2,3,1,2,3]])dataa 1 -0.901880 2 0.083255 3 1.002014b 1 2.033284 2 -1.063635 3 -0.415264c原创 2022-04-05 18:15:37 · 1250 阅读 · 0 评论 -
使用join快速组合字符串,以及使用splite快速分解字符串
如果一个字符串由相同连接符组合而成,例如’2017-02-28‘date = ['2017','02','28']'-'.join(date)逆操作val = '2017-02-28‘date = [x.strip() for x in val.split(',')]date原创 2022-04-04 21:44:45 · 126 阅读 · 0 评论 -
python转换任意时间字符串为datetime时间对象
import datetimefrom dateutil import parserdef getDateTime(s): d = parser.parse(s) return d原创 2022-04-03 13:13:56 · 1006 阅读 · 0 评论 -
pandas计算过去某个时间与今天的时间差
import datetimestart = datetime.datetime(2015,1,1).date()end = datetime.date.today()print(end-start)原创 2022-03-31 20:08:52 · 1206 阅读 · 0 评论 -
pandas中apply()+value_counts()使用方法
df = pd.DataFrame(np.arange(12).reshape((4,3)),\ columns=list('abe'),\ index = ['wo','shi','shui','ha'])formatr = lambda x:'%.1f' %xdf.apply(formatr)pandas 的 apply() 函数可以作用于 Series 或者整个 DataFrame,功能也是自动遍历整个 Series 或原创 2022-03-26 00:45:18 · 2012 阅读 · 0 评论 -
dataframe普通切片与loc,iloc选取数据
import pandas as pdimport numpy as npurl = 'https://raw.githubusercontent.com/HoijanLai/dataset/master/PoliceKillingsUS.csv'df = pd.read_csv(url,sep=',')df.head()1.普通选择数据要选择某一行数据,不能使用数组方式,普通切片不包括尾部例如:df[0:2]普通方式选择列,不能切片df[[‘name’,‘flee’]]2.使用l原创 2022-03-22 22:34:25 · 1569 阅读 · 1 评论 -
使用groupby分组后agg函数对单列进行多种运算和对多列进行多种运算
import pandas as pdimport numpy as npurl = 'https://raw.githubusercontent.com/HoijanLai/dataset/master/PoliceKillingsUS.csv'df = pd.read_csv(url,sep=',')df1.对多列运算df.groupby('race').agg({'age':np.median,'signs_of_mental_illness':np.sum})2.对单列进行多个原创 2022-03-17 22:01:28 · 2097 阅读 · 0 评论 -
groupby后选取列和不选取列的区别
1.首先通过groupby得到DataFrameGroupBy对象, 比如df.groupby('race')2.然后选择需要研究的列, 比如['age'], 这样我们就得到了一个SeriesGroupby, 它代表每一个组都有一个Series3.对SeriesGroupby进行操作, 比如.mean(), 相当于对每个组的Series求均值4.如果df.groupby('race')后不选列, 则会遍历所有列, pandas会对**能成功操作的列**进行操作, 最后返回的一个由操作成功的列组成的Da原创 2022-03-16 00:32:36 · 2522 阅读 · 0 评论 -
使用 dateutil.parser将时间字符串解析出时间对象datetime
假设以下数据集robbery:对incidentdatetime列进行转换from dateutil.parser import *robbery['incidentdatetime'] = robbery.incidentdatetime.apply(lambda x:parse(x))原创 2022-03-14 23:52:53 · 536 阅读 · 0 评论 -
google colab 下载数据集、挂载自己的google drive
下载数据集:from google.colab import filesfiles.download('a.csv')挂载google drivefrom google.colab import drivedrive.mount('/content/gdrive')更改运行目录import osos.chdir("/content/gdrive/My Drive/Colab Notebooks")或者import pathlibfrom google.colab import d原创 2022-03-14 00:14:37 · 2615 阅读 · 0 评论 -
pandas使用列号查找列
显示第0、1、3列的标题df.columns[[0,1,3]]然后可以使用drop函数进行删除列操作df.drop(df.columns[[0,1,3]],axis = 1)原创 2022-03-12 14:31:08 · 1852 阅读 · 0 评论 -
pandas函数isnull
一.假设有数据集dfdf.isnull()返回DateFrame,元素为空或者NA就显示True,否则就是False二.判断有空值的列df.isnull().any()当列有为空或者NA的元素,就为True,否则False三.显示出有空值列的列名的列表,iris.columns[iris.isnull().any()].tolist() 四.删除全部是空值的行iris.dropna(axis=0,how='all',inplace=True)五。删除全部是空值的列iri原创 2022-03-11 00:05:59 · 4056 阅读 · 0 评论 -
pandas对索引进行排序
假设有以上数据集apple,使用日期作为索引apple.sort_index(ascending= True)原创 2022-03-08 22:07:27 · 831 阅读 · 0 评论 -
pandas把cvs中时间文本转换为datetime时间格式
转换前dtypeDate objectOpen float64High float64Low float64Close float64Volume int64Adj Close float64dtype: object执行pd.to_datetime(Date)转换后dtypeDate datetime64[ns]Open flo原创 2022-03-07 23:57:35 · 811 阅读 · 0 评论 -
pandas使用重采样函数resample改变时间周期进行聚合
Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。降采样:高频数据到低频数据升采样:低频数据到高频数据data数据集weekly = data.resample('W').agg(['mean','std'])使用周重新采样,并且使用mean和std对所有列进行聚合...原创 2022-03-06 01:48:11 · 2180 阅读 · 0 评论 -
pandas利用日期作为索引再使用groupby聚合
假设存在数据集data:我们想按年份进行聚合:首先把索引变成以年份为单位:data.index.to_period('A')再用年份进行分组data.groupby(data.index.to_period('A'))假设使用均值对每个列进行聚合data.groupby(data.index.to_period('A')).mean()按月份进行聚合data.groupby(data.index.to_period('M')).mean()...原创 2022-03-06 01:33:33 · 3694 阅读 · 2 评论 -
pandas沿着列方向进行统计计算
也就是对每一行求值假设存在数据集data: RPT VAL ROS KIL SHA BIR DUB CLA MULYr_Mo_Dy 1961-01-01 15.04 14.96 13.17 9.29 NaN 9.87 13.67 10.25 10.83 1961-01-02 14.71 NaN 10.83 6.50 12.62 7.67 11.50 10.04 9.79 1961-01-03原创 2022-03-06 01:04:59 · 237 阅读 · 0 评论 -
pandas计算全部列中空值和非空值的个数
假设存在数据集data:计算空值个数:data.isnull().sum()计算非空值个数:data.notnull().sum()原创 2022-03-06 00:35:59 · 9828 阅读 · 0 评论 -
python datetime类型简单使用
一.date类介绍作用:date类用来处理日期信息date类是datetime的内嵌类,实例化语法:datetime.date(year,month,day)参数介绍:year年份、month月份及day日期import datetimet=datetime.date(2019,8,26)print(type(t))print(t.day,t.month,t.year)date类日期的格式化输出语法:date对象.strftime(格式化字符串)日期格式化字符帮助输出格式化的日期字原创 2022-03-06 00:17:03 · 1780 阅读 · 0 评论 -
正则表达式“\s+“
\s表示匹配任何空白字符,包括空格、制表符、换页符等等, 等价于[ \f\n\r\t\v]而"\s+"则表示匹配任意多个上面的字符\f -> 匹配一个换页\n -> 匹配一个换行符\r -> 匹配一个回车符\t -> 匹配一个制表符\v -> 匹配一个垂直制表符作者:代码青年ing链接:https://www.jianshu.com/p/72dc45359b31来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...原创 2022-03-05 23:48:48 · 11802 阅读 · 0 评论 -
pandas之reset_index
适用于拼接数据后重新制作索引以下数据由三个100行的数据集上下拼接而成,注意索引的从上到下为0-99,0-99,0-99共300个元素 00 41 42 23 24 3... ...95 2732196 1325597 1274198 2006799 21760300 rows × 1 columnsbigmkt.reset_index(drop=False)drop参数:是否删除原索引不删除原来索引再增加一index列index 0原创 2022-03-05 00:29:27 · 705 阅读 · 0 评论 -
pandas之重命名列名
假设存在如下数据集mtk: 0 1 20 1 3 162501 4 1 145012 3 3 277723 1 3 297434 4 3 22985mkt.rename(columns={0:'first',1:'second',2:'third'},inplace=1)生成如下: first second third0 4 1 100111 4 2 210102 2 1原创 2022-03-04 21:10:26 · 6607 阅读 · 0 评论 -
Pandas resample重采样及freq用法
DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='start',kind=None, loffset=None, limit=None, base=0)参数 说明freq 表示重采样频率,例如‘M’、‘5min’,Second(15)how=‘mean’ 用于产生聚合值的函数名或数组函数,例如‘mean’、‘ohlc’、np.max等,默认是‘mean’原创 2022-03-01 00:25:43 · 1644 阅读 · 0 评论 -
pd.to_datetime
crime.Year int64pd.to_datetime(crime.Year,format = '%y%m%d')crime.Year datetime64原创 2022-02-28 22:58:08 · 328 阅读 · 0 评论 -
pandas中groupby的返回值
假设存在如下数据集drinks:以continent列进行分组:drinks.groupby(by='continent')返回值是个重构格式的DataFrameGroupBy object,没法直接输出('AF', country beer_servings spirit_servings wine_servings \2 Algeria 25 0原创 2022-02-27 12:21:22 · 3518 阅读 · 0 评论 -
pandas中loc函数的返回值
图中数据框army的索引设置为origin1.army.loc[‘Maine’]返回值 Series 类型regiment Dragoonscompany 1stdeaths 43battles 4size 1592veterans 73readiness 2armored 0deserters 3Nam原创 2022-02-26 20:50:46 · 2749 阅读 · 0 评论 -
利用pandas取出某列无重复的值
import pandas as pddf = pd.read_csv("…/shit.csv")df[‘x’].unique()#返回对应列的不同值df[‘x’].nunique()#返回不同值的数值原创 2022-02-25 01:10:12 · 5447 阅读 · 0 评论 -
pandas数据清洗的str属性接口的使用方法
版权声明:本文为CSDN博主「竹~松」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_52227083/article/details/120470534import pandas as pddf={'姓名':[' 刘备','蜘蛛精 ','孙悟空 ',' 猪八戒','孙权'], '英文名':['Liu bei','zhi zu jing','Zhang fei','Zhu ba jie','转载 2022-02-23 22:30:36 · 265 阅读 · 0 评论 -
pandas对 字符串属性 列 的操作
数据框:footballTeamGoalsYellow CardsRed CardsGermany1040Spain12110对Team列进行字符串操作footbal.Team.str.方法名原创 2022-02-23 22:23:07 · 294 阅读 · 0 评论