![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pandas
一个叫欧维的程序员在此写博客
这个作者很懒,什么都没留下…
展开
-
Pandas---条件筛选与组合筛选
Pandas—条件筛选与组合筛选在使用pandas进行数据分析时,经常需要根据逻辑条件来筛选数据。如果使用 for循环语句 遍历的方式来查找,将十分耗时。推荐使用pandas自身的功能函数进行筛选,效率更高。以下列出笔者常用的筛选方法。条件筛选根据具体值筛选df[df['Num'] == 10]df[df['Name'] == 'Tom']找出df中值在具体列表中的数据val_list = [100, 200, 300]df[df['Num'].isin(val_list)]筛选原创 2022-04-26 15:22:10 · 5594 阅读 · 1 评论 -
Pandas---Pandas两个DataFrame作差
Pandas—Pandas两个DataFrame作差两个DataFarame,存在相同的内容,也存在不同的内容,找出其中不同的内容。df3 = df1.append(df2).drop_duplicates(keep=False)不得不说,此法很秀!原创 2022-04-11 15:46:46 · 2630 阅读 · 1 评论 -
Pandas---groupby用法
Pandas—groupby用法参考文章:超好用的Groupby用法详解原创 2021-12-16 17:17:48 · 865 阅读 · 0 评论 -
Pandas---按列排序
Pandas—按列排序按单列df col1 col2 col3 col40 A 2 0 a1 A 1 1 B2 B 9 9 c3 NaN 8 4 D4 D 7 2 e5 C 4 3 Fdf.sort_values(by=['col1'], ascending=True)# ascending = True 默认升序,原创 2021-07-01 17:17:00 · 782 阅读 · 0 评论 -
Pandas---合并列
Pandas—合并列# way1: 将两列合并成新的列df["new_col"] = df["col1"] + df["col2"]# way2: 将两列合并成新的列,并在中间插入间隔符df["new_col"] = df["col1"] + "-" + df["col2"]原创 2021-07-01 17:01:34 · 3371 阅读 · 1 评论 -
Python---Pandas相关使用
Pandas重置列索引的排列新写一个列表,里面为新的列顺序a = pd.DataFrame(np.arange(12).reshape(4,3),columns=['A','B','C'])输出为 A B C0 0 1 21 3 4 52 6 7 83 9 10 11新写列索引列表:new_col_list = ['C','B','A']a = a[new_col_list...原创 2019-12-18 09:28:13 · 338 阅读 · 0 评论 -
Pandas---根据字典添加DataFrame行
根据字典添加行import pandas as pddata = pd.DataFrame(columns=['a', 'b'])dic= {'a':2, 'b':3}data = data.append(dic,ignore_index=True)原创 2020-12-24 09:51:59 · 3724 阅读 · 1 评论 -
Pandas---显示全部行与列
head()/tail()显示全部行和全部列import pandas as pd#显示所有列pd.set_option('display.max_columns', None)#显示所有行pd.set_option('display.max_rows', None)原创 2020-12-24 09:50:46 · 299 阅读 · 0 评论 -
Pandas---统计功能
Dataframe 描述性统计和汇总统计count() 非NA值的个数describe() 计算Series和DataFrame各列的汇总统计集合min(), max() 计算最小值、最大值argmin(), argmax() 计算最小值与最大值所在的索引位置(整数)idxmin(), idxmax() 计算最小值与最大值所在的索引标签quantile() 计算样本的从0到间的分位数sum() 加和mean() 求均值median() 中位数(50%分位数)mad()原创 2020-12-23 16:34:07 · 204 阅读 · 0 评论 -
Pandas---三种索引操作与loc/iloc区别
Dataframe 索引数据原始数据:data = pd.DataFrame(np.arange(12).reshape(4,3),columns=['A','B','C']) A B C0 0 1 21 3 4 52 6 7 83 9 10 11way1:列索引:data['A'] or data[['A','B']]行索引:data[:2]可添加逻辑判断筛选data = data[data['A']>2] A B C1 3 4 52 6 7 83 9 10原创 2020-12-23 16:33:19 · 540 阅读 · 0 评论 -
Pandas---判断一列nan个数的占比
判断一列nan个数的占比def numPercent(data): for col in data.columns: num = data[col].isna().sum() # nan个数 print(col,num / len(data)) # 占比原创 2020-12-23 16:32:21 · 1354 阅读 · 0 评论 -
Pandas---将行内容倒置
将行内容倒置行倒置,如原先第一行变为倒数第一行a = pd.DataFrame(np.arange(12).reshape(6,2),columns=['A','B'], index=np.arange(6,0,-1)) A B6 0 15 2 34 4 53 6 72 8 91 10 11a['newindex'] = np.arange(len(a)-1,-1,-1)a.sort_values原创 2020-12-23 16:31:07 · 2477 阅读 · 0 评论 -
Pandas---重置行/列索引
重置列索引新写一个列表,里面为新的列顺序a = pd.DataFrame(np.arange(12).reshape(4,3),columns=['A','B','C'])输出为 A B C0 0 1 21 3 4 52 6 7 83 9 10 11# 新的列索引列表:new_col_list = ['C','B','A']a = a[new_col_list] C B A0 2 1 01 5 4 32 8 7 63 11 10 9重置行索引使用reset_index原创 2020-12-23 16:16:10 · 6993 阅读 · 0 评论 -
Pandas---输出csv文件解决科学计数法显示数据丢失问题
改变单列数据类型d = {'玩具':['车','飞机','轮船'], '数量':[3,2,5], '价格':[10000000000000,90000000000000,80000000000000]}df = pd.DataFrame(d) 玩具 数量 价格0 车 3 100000000000001 飞机 2 900000000000002 轮船 5 80000000000000df['价格'] = '"' + df['价格'].apply(str) + '"' 玩具 数量 价格0原创 2020-12-23 16:14:36 · 5840 阅读 · 0 评论 -
Pandas---apply使用
pandas中apply使用data: A B C0 0 1 21 3 4 52 6 7 83 9 10 11f = lambda x: x + 3或:def f(x): return x + 3 # 对所有列操作data.apply(f) A B C0 3 4 51 6 7 82 9 10 113 12 13 14# 对单列操作data['A'] = data['A'].apply(f) A B C0 3 1 21 6 4 52 9 7 83 12 10原创 2020-12-23 16:13:34 · 97 阅读 · 0 评论 -
Pandas---map使用
map()使用map()函数可以用于Series对象或DataFrame对象的一列,接收函数作为或字典对象作为参数,返回经过函数或字典映射处理后的值。frame = pd.DataFrame({'item':['ball', 'mug', 'pen', 'pencil', 'ashtray'], 'price':[1, 2, 3, 4, 5]})item price0 ball 11 mug 22 pen 33 pencil 44 ashtra原创 2020-12-23 16:12:04 · 497 阅读 · 0 评论 -
Pandas---where使用
where()参数:语句:Series.where(cond, other=nan, inplace=False, axis=None, level=None, errors=‘raise’, try_cast=False, raise_on_error=None)说明:如果 cond 为真,保持原来的值,否则替换为other, inplace为真标识在原数据上操作,为False标识在原数据的copy上操作。other must be the same shape as self: other的形状原创 2020-12-23 16:09:35 · 843 阅读 · 0 评论