首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

20个能够有效提高 Pandas数据分析效率常用函数,附带解释和例子

如果整数值传递给random_state,则每次运行代码时都将生成相同采样数据。 5. Where where函数用于指定条件数据替换。如果不指定条件,则默认替换 NaN。...重要一点是,pandas 和 numpywhere函数并不完全相同。我们可以得到相同结果,语法存在差异。Np.where还需要指定对象。...Memory_usage Memory_usage()返回每使用内存量(以字节单位)。考虑下面的数据,其中每一有一百万行。...df1df2基于column_a共同进行合并,merge函数how参数允许以不同方式组合dataframe,如:“inner”、“outer”、“left”、“right”等。...inner:仅在on参数指定中具有相同行(如果未指定其它方式,则默认为 inner 方式) outer:全部数据 left:左一dataframe所有数据 right:右一dataframe

5.5K30

30 个小例子帮你快速掌握Pandas

尽管我们对loc和iloc使用了不同列表示形式,没有改变。原因是我们使用数字索引标签。因此,行标签和索引都相同。 缺失数量已更改: ? 7.填充缺失 fillna函数用于填充缺失。...添加在末尾。如果要将新放在特定位置,则可以使用插入函数df_new.insert(0, 'Group', group) df_new ?...符合指定条件保持不变,而其他替换为指定。 20.排名函数 它为这些分配一个等级。让我们创建一个根据客户余额对客户进行排名。...这些显示以字节单位使用了多少内存。 23.分类数据类型 默认情况下,分类数据与对象数据类型一起存储。但是,这可能会导致不必要内存使用,尤其是当分类变量基数较低时。...25.绘制直方图 Pandas不是数据可视化库,用它创建一些基本图形还是非常简单。 我发现使用Pandas创建基本图比使用其他数据可视化库更容易。 让我们创建Balance直方图。

10.6K10
您找到你想要的搜索结果了吗?
是的
没有找到

Python代码实操:详解数据清洗

通过 df.iloc[] 来选择特定或对象。 使用Pandas isnull() 判断是否空。 使用 all() 和 any() 判断每是否包含至少1True或全部True情况。...,较为简单直接;使用 value 方法则更为灵活,原因是可以通过函数形式缺失处理规则写好,然后直接赋值即可。...除了可以使用固定替换外(这种情况下即使替换了该特征也没有实际参与模型价值),最合理方式是先将全部缺失删除,然后再做其他处理。...(['col1', 'col2'])) # 删除数据记录中指定(col1/col2相同记录 该操作核心方法是 df.drop_duplicates(),该方法作用是基于指定规则判断为重复之后...在该部分方法示例中,依次使用默认规则(全部相同数据记录)、col1相同、col2相同以及指定col1和col2完全相同4种规则进行去重。返回结果如下。

4.8K20

几个高效Pandas函数

Insert Insert用于在DataFrame指定位置中插入新数据。默认情况下新添加到末尾,但可以更改位置参数,添加到任何位置。...Where Where用来根据条件替换行或。如果满足条件,保持原来,不满足条件则替换为其他。默认替换为NaN,也可以指定特殊。...,保持原来,否则替换为other other:替换特殊 inplace:inplace真则在原数据上操作,False则在原数据copy上操作 axis:行或 dfvalue_1里小于...1名,下一个人是第 2 名 method=first: 相同会按照其在序列中相对位置定 ascending:正序和倒序 对dfvalue_1进行排名: In [115]: df Out[115...A 1 1 2 2 3 3 In [12]: df.dtypes Out[12]: A object dtype: object 使用infer_objects方法object推断int

1.5K60

Python 金融编程第二版(二)

在这方面最重要数据结构之一是数组。数组通常以行和形式结构化其他(基本)相同数据类型对象。 暂时假设我们仅使用数字,尽管这个概念也可以推广到其他类型数据。...⑥ 通用函数np.sqrt应用于 Python float对象…… ⑦ ……比使用math.sqrt函数相同操作慢得多。...② 数据定义list对象。 ③ 指定标签。 ④ 指定索引/标签。 ⑤ 显示DataFrame对象数据以及和索引标签。...② 检查x是否正且y是否负。 ③ 检查x是否正或y是否负。 使用结果布尔Series对象,复杂数据(行)选择很简单。...② 所有x正且y行。 ③ 所有中 x 正或中 y 所有行(这里通过各自属性访问)。 比较运算符也可以一次应用于完整 DataFrame 对象。

9610

Python常用小技巧总结

小技巧 pandas生成数据 导入数据 导出数据 查看数据 数据选择 数据处理 数据分组 数据合并 数据替换--map映射 数据清洗--replace和正则 数据透视表分析--melt函数 分类中出现次数较少...others Python合并多个EXCEL工作表 pandas中Series和Dataframe数据类型互转 相同字段合并 Python小技巧 简单表达式 列表推导式 交换变量 检查对象使用内存情况...数据合并 df1.append(df2) # df2添加到df1尾部 df.concat([df1,df2],axis=1,join='inner') # df2添加到df1尾部...,对应⾏与对应列都不要 df1.join(df2.set_index(col1),on=col1,how='inner') # 对df1df2执⾏SQL形式join,默认按照索引来进...b = b, a print("a = ",a) print("b = ",b) a = 2 b = 1 检查对象使用内存情况 sys.getsizeof() range()函数返回是一个类,在使用内存方面

9.4K20

直观地解释和可视化每个复杂DataFrame操作

例如,如果 df1 具有3个键foo , 而 df2 具有2相同,则 在最终DataFrame中将有6个条目,其中 leftkey = foo 和 rightkey = foo。 ?...包括df2所有元素, 仅当其键是df2键时才 包含df1元素 。 “outer”:包括来自DataFrames所有元素,即使密钥不存在于其他-缺少元素被标记为NaN。...例如,考虑使用pandas.concat([df1df2])串联具有相同列名 两个DataFrame df1df2 : ?...尽管可以通过axis参数设置1使用concat进行列式联接,但是使用联接 会更容易。 请注意,concat是pandas函数,而不是DataFrame之一。...串联是附加元素附加到现有主体上,而不是添加新信息(就像逐联接一样)。由于每个索引/行都是一个单独项目,因此串联将其他项目添加到DataFrame中,这可以看作是行列表。

13.3K20

高效10个Pandas函数,你都用过吗?

Insert Insert用于在DataFrame指定位置中插入新数据。默认情况下新添加到末尾,但可以更改位置参数,添加到任何位置。...,保持原来,否则替换为other other:替换特殊 inplace:inplace真则在原数据上操作,False则在原数据copy上操作 axis:行或 dfvalue_1里小于...,使用iloc: df.iloc[:3,:2] 使用loc: df.loc[:2,['group','year']]1 提示:使用loc时,索引是指index,包括上边界。...1名,下一个人是第 2 名 method=first: 相同会按照其在序列中相对位置定 ascending:正序和倒序 对dfvalue_1进行排名: df['rank_1'] = df['value...'day2': {0: 2, 1: 4, 2: 6}}) df1 现在day1、day2变成变量,再加一个: pd.melt(df1, id_vars=['city'])

4.1K20

Scikit-Learn教程:棒球分析 (一)

该len()函数告诉您要处理行数:2,287不是可以使用大量数据点,因此希望没有太多。 在评估数据质量之前,让我们首先消除不必要或从目标派生(Wins)。...在浏览数据时目标创建分档非常有用,您需要确保在训练模型时不包括从目标生成任何功能。在训练集中包含从目标生成标签,就像模型提供测试答案一样。...要创建win标签,您将创建一个函数assign_win_bins,该函数接受一个整数值(wins)并返回1-5整数,具体取决于输入。...1950数字不太可能与模型推断其他数据具有相同关系。 您可以通过创建基于yearID标记数据新变量来避免这些问题。...群集数量设置6,随机状态设置1使用该fit_transform()方法确定每个数据点欧几里德距离,然后使用散点图可视化聚类。

3.4K20

数据导入与预处理-课程总结-04~06章

().T.any()] # 删除缺失 -- 缺失出现全部删掉 na_df.dropna() # 保留至少有3个非NaN行 na_df.dropna(thresh=3) # 缺失补全...|整体填充 全部缺失替换为 * na_df.fillna("*") 2.3 重复处理 2.3.1 重复检测 pandas中使用duplicated()方法来检测数据中重复。...对象中重复 df.duplicated() # 返回boolean数组 # 查找重复 # 全部重复所在行筛选出来 df[df.duplicated()] # 查找重复|指定 # 上面是所有完全重复情况...,但有时我们只需要根据某查找重复 df[df.duplicated(['gender'])] # 删除全部重复 df.drop_duplicates() # 删除重复|指定 # 删除全部重复...Q3表示上四分位数,说明全部检测中有四分之一比它大; Q1表示下四分位数,说明全部检测中有四分之一比它小; IQR表示四分位数间距,即上四分位数Q3与下四分位数Q1之差,其中包含了一半检测

13K10

Python pandas对excel操作实现示例

理解每一都是 Series 非常重要,因为 pandas 基于 numpy,对数据计算都是整体计算。深刻理解这个,才能理解后面要说诸如 apply() 函数等。...到 df1['Mar'] 都是 Series,所以使用 + ,可以得到三个 Series 对应位置数据合计。...但因为 state_to_code 全部是标量值 (scalar values),方法有一点不同,如下: # state_to_code 直接加载到 DataFrame abbr2 = pd.DataFrame...首先通过 reindex() 函数 df_sum 变成与 df 具有相同,然后再通过 append() 方法,合计行放在数据后面: # 转置变成 DataFrame df_sum = pd.DataFrame...(data=sum_row).T # df_sum 添加到 df df_sum = df_sum.reindex(columns=df.columns) # append 创建一个新 DataFrame

4.4K20

Pandas最详细教程来了!

:索引/类似列表 | 使用标签;默认range(n) dtype:dtype | 使用(强制)数据类型;否则通过推导得出;默认None copy:布尔 | 从输入复制数据;默认False...所有序列长度必须相同 由Series组成字典:每个Series会成为一。...其他频率参数见下文 tz:字符串/None | 本地化索引时区名称 normalize:布尔 | start和end规范化为午夜;默认为False name:字符串 | 生成索引名称 date_range...由图3-23可以看到,大于0数据都能显示,其他数据显示NaNdf[df>0] 运行结果如图3-23所示。 ? ▲图3-23 再来看一下如何改变df。...b 2 c 3 d 4 在这里,我们索引定义a、b、c、d。

3.2K11

Kaggle知识点:缺失处理

如果axis=0或者‘index’,subset中元素索引;如果axis=1或者‘column’,subset中元素索引。...模型法:更多时候我们会基于已有的其他字段,缺失字段作为目标变量进行预测,从而得到最为可能补全值。如果带有缺失是数值变量,采用回归模型补全;如果是分类变量,则采用分类模型补全。...假设X=(X1,X2…Xp)信息完全变量,Y存在缺失变量,那么首先对X或其子集行聚类,然后按缺失个案所属类来插补不同类均值。...'/'pad':用前一个非缺失去填充该缺失 df2 = df.fillna(method='ffill') # exam缺失用均值替换 exa_mea = df['exam'].fillna...内存占用较立方插法要少,其插数据和导数都是连续

1.8K20

Stata与Python等效操作与调用

生成最大、最小、均值,或者是求和、平方和取对数等。在 Stata 中,最基本使用 replace 和 generate 命令,另外 egen 提供了大量函数能便捷处理数据。...'] 1.5.2 数值型变量 = df[].notnull().sum(),需要注意是,Stata 中egen 命令这些函数生成 newvar 在 Stata 中是完整...但是,可以使用关键字参数 how 来指定要保留合并子样本,例如 df_joint = df1.join(df2,how='left')是 join 默认,而 how ='inner' 是 pd.merge...但是可以使用 DataFrame 索引(行等效)来完成大多数(但不是全部相同任务。...要在 DataFrame 中查找缺失使用以下任何一种: df[].isnull() 返回一个每行 True 和 False 向量 df[]。

9.8K51

python数据分析万字干货!一个数据集全方位解读pandas

数据保存在工作目录,然后使用pd.read_csv()函数读取。...使用.loc和.iloc会发现这些数据访问方法比索引运算符更具可读性。因为在之前文章中已经详细介绍了这两种方法,因此我们简单介绍。更详细可以查看【公众:早起python】之前文章。...使用索引运算符 如果我们 DataFrame看成Series字典形式,则可以使用index运算符访问它 >>> city_data["revenue"] Amsterdam 4200 Tokyo...首先创建原始副本DataFrame以使用: >>> df = nba.copy() >>> df.shape (126314, 23) 然后基于现有定义新: >>> df["difference"...尽管它做得很好,并不完美。如果我们选择正确数据类型,则可以显着提高代码性能。我们再看一下nba数据集: >>> df.info() ? 有十具有数据类型object。

7.4K20

异常检测怎么做,试试孤立随机森林算法(附代码)

孤立森林算法不同于这一原理,首先它不会定义「正常」行为,而且也没有计算基于距离。 一如其名,孤立森林不通过显式地隔离异常,它隔离了数据集中异常点。...和其他正常数据点相比,异常数据点树路径更短,因此在孤立森林中树不需要太大深度,所以可以用更小 max_depth ,从而降低内存需求。 这一算法也适用于小数据集。...类似的,可以对训练后模型调用 predict() 函数,并传入工资作为参数,找到异常这两添加到数据框 df 中。添加完这两后,查看数据框。...给数据每一行中都添加了分数和异常值后,就可以打印预测异常了。 打印异常 为了打印数据中预测得到异常,在添加分数列和异常后要分析数据。如前文所述,预测异常在预测 -1,分数负数。...注意,这样不仅能打印异常值,还能打印异常值在数据集中索引,这对于进一步处理是很有用。 评估模型 为了评估模型,阈值设置工资>99999 离群

2.3K30

独家 | 11个Python Pandas小技巧让你工作更高效(附代码实例)

这是因为df2 = df1并不是生成一个df1复制品并把它赋值给df2,而是设定一个指向df1指针。所以只要是针对df2改变,也会相应地作用在df1上。...如果我们想在现有几列基础上生成一个新,并一同作为输入,那么有时apply函数会相当有帮助。...'c1'], x['c2']), axis = 1)df.head() 在上面的代码中,我们定义了一个有两个输入变量函数,并依靠apply函数使其作用到“c1”和“c2”上。...你会发现相比于以下命令,apply实在是慢太多了: df['maximum'] = df[['c1','c2']].max(axis =1) 结论:如果你可以采用其他内置函数(他们一般速度更快),...缺失数量 当构建模型时,我们可能会去除包含过多缺失或是全部是缺失行。这时可以使用.isnull()和.sum()来计算指定列缺失数量。

67220

【Python】这25个Pandas高频实用技巧,不得不服!

two':'col_two'}, axis='columns') 使用这个函数最好方式是你需要更改任意数量列名,不管是一或者全部。...序反转 跟之前技巧一样,你也可以使用loc函数从左至右反转 drinks.loc[:, ::-1].head() 逗号之前冒号表示选择所有行,逗号之后::-1表示反转所有的,这就是为什么...你可以对第三使用to_numeric()函数,告诉其任何无效数据转换为NaN: pd.to_numeric(df.col_three, errors='coerce') 0 7.7 1...drop()函数来舍弃“moive_1”中出现过行,剩下行赋值给"movies_2"DataFrame: movies_2 = movies.drop(movies_1.index) 你可以发现总行数是正确...) 4622 解决办法是使用transform()函数,它会执行相同操作但是返回与输入数据相同形状: total_price = orders.groupby('order_id').item_price.transform

6.4K40
领券