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

pandas库详解一:基础部分

a = [1,2,3] b = [4,5,6] ​ #字典key即为csv列名 data_dict = {'a_name':a,'b_name':b} ​#设置DataFrame排列顺序...,default=True dataFrame.to_csv("test.csv", index=False, sep='|') #如果希望在覆盖原文件内容情况下将信息写入文件,可以加上mode="...axis:需要合并链接轴,0是,1是列。 join: 连接方式 inner,或者outer。 其他一些参数不常用,用时候再补上说明。...3 行列 3.1 查找 查找DataFrame数据类型某一(多)(列) 这里记录三个可以实现该功能函数:loc、iloc、ix。...# 返回一个新DataFrame,更新index,原来index会被替代消失 # 如果dataframe某个索引不存在,会自动补上NaN df2 = df1.reindex(['a','b','

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

数据分析(四)

],[11,22,33]]) # 查找每一中最大数字位置 b = np.argmax(attr,axis=0) # 查找每一中最小数字位置 c = np.argmin(attr,axis =...numpynan和inf 1) nan:在之前0/0会显示nan,其实nan表示不是一个数字 inf:inf表示正无穷,-inf表示负无穷,当数据不对时候(比如1/0)就会出现这个 2) 两个nan...是不相等 np.nan == np.nan # 会返回False 3) # 计算数组nan个数 # 假如a中有nan,我们可以找出这个个数 # count_nonzero统计非0数值个数,...=a) 或者 np.count_nonzero(np.isnan(a)) 4) nan其他任意计算都是nan 5) 当我们计算时候需要把nan替换成0或者均值,或者中值。...= 0: temp_col[np.isnan(temp_col)] = 0 print(t) pandas基础 numpy只能处理数值类型,pandas是再numpy基础上还能够处理字符串等其他类型

90531

Python替代Excel Vba系列(三):pandas处理规范数据

本文要点: 使用 pandas 处理规范数据。 pandas 索引。....replace(['/','nan'],np.nan),把读取进来有些无效替换为 nan,这是为了后续操作方便。...ffill 表示用上一个有效填充。 合并单元格很多时候就是第一个有其他为空,ffill 填充方式刚好适合这样情况。 ---- 现在数据美如画了。...如果你熟悉 excel 透视表,那么完全可以把行列索引当作是透视表行列区域。 ---- 理解了索引,那么就要说一下如何变换行列索引。...---- 数据如下: ---- ---- 最后 本文通过实例展示了如何在 Python 中使用 xlwings + pandas 灵活处理各种规范格式表格数据。

5K30

Pandas_Study01

DataFrame是一种表格型数据结构,它含有一组有序列,每列可以是不同。DataFrame既有索引,也有列索引,它可以看作是由Series组成字典,不过这些Series公用一个索引。...2).参与运算的如果是两个DataFrame,有可能所有的、列是一致,那么运算时对应行列位置进行相应算术运算,若行列没有对齐,那么填NaN。 3)....参与运算两个DataFrame并非完全一样,即行列个数和行列名有可能都不同,那么有对应上就做运算,无填充NaN。 5). 列方向也有相应计算处理方式。...series 常用函数 1. get() 和 get_value() 方法 因为series 具有字典一些特征,所以允许使用get 方法来获取数值,如果没有则返回默认get_value 功能类似...series 统计函数 1. sum() 方法 和 mean() 方法 sum 求和函数。mean 求均值,同时有skipnan参数可选是否忽略nan

17510

在pandas中使用数据透视表

经常做报表小伙伴对数据透视表应该陌生,在excel利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现。...,可多选 index:分组键,一般是用于分组列名或其他分组键,作为结果DataFrame索引 columns:列分组键,一般是用于分组列名或其他分组键,作为结果DataFrame列索引 aggfunc...:聚合函数或函数列表,默认为平均值 fill_value:设定缺失替换 margins:是否添加行列总计 dropna:默认为True,如果列所有都是NaN,将不作为计算列,False时,被保留...margins_name:汇总行列名称,默认为All observed:是否显示观测 注意,在所有参数,values、index、columns最为关键,它们分别对应excel透视表...、列: 参数aggfunc对应excel透视表汇总方式,但比excel聚合方式更丰富: 如何使用pivot_table?

2.9K20

在pandas中使用数据透视表

经常做报表小伙伴对数据透视表应该陌生,在excel利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现。...,可多选 index:分组键,一般是用于分组列名或其他分组键,作为结果DataFrame索引 columns:列分组键,一般是用于分组列名或其他分组键,作为结果DataFrame列索引 aggfunc...:聚合函数或函数列表,默认为平均值 fill_value:设定缺失替换 margins:是否添加行列总计 dropna:默认为True,如果列所有都是NaN,将不作为计算列,False时,被保留...注意,在所有参数,values、index、columns最为关键,它们分别对应excel透视表、列: ?...参数aggfunc对应excel透视表汇总方式,但比excel聚合方式更丰富: ? 如何使用pivot_table? 下面拿数据练一练,示例数据表如下: ?

2.7K40

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

操作数据帧可能很快会成为一项复杂任务,因此在Pandas八种技术均提供了说明,可视化,代码和技巧来记住如何做。 ?...Melt Melt可以被认为是“不可透视”,因为它将基于矩阵数据(具有二维)转换为基于列表数据(列表示表示唯一数据点),枢轴则相反。...默认情况下,合并功能执行内部联接:如果每个DataFrame键名均未列在另一个键,则该键包含在合并DataFrame。...切记:在列表和字符串,可以串联其他项。串联是将附加元素附加到现有主体上,不是添加新信息(就像逐列联接一样)。...由于每个索引/行都是一个单独项目,因此串联将其他项目添加到DataFrame,这可以看作是列表。

13.3K20

pandas模块(很详细归类),pd.concat(后续补充)

1, 2, 3, 4, np.nan, ]) s = pd.Series(arr) print(s) #也可以转换,但是转换后可以减少内存,尽量进行转换 # arr = np.array([1, 2,...3, 4, np.nan, ]) s = pd.Series([1, 2, 3, 4, np.nan, ]) print(s) 3.对二维数据处理成列表 1.pd.DataFrame功能 df = pd.DataFrame...[起始横坐标:结束横坐标] 必须是横坐标,纵坐标的名称不去索引,前后可以相同就取起始横坐标这一 9.df里按列取取列 取某一列,df[这列对应横坐标] 取多列,df[[第一列对应横坐标,...结合上面取值进行替换 5.df.dropna 1.df.dropna(axis=1) axis进行行列选择,横着加还是竖着加 2.df.dropna(thresh=4) 删除不为4个 3.df.dropna...(subset=['c2']) 删除c2NaN数据 6.df重空进行添加 df.fillna(value=10)空填充10 7.df进行合并 1.pd.concat((df1, df2),

1.5K20

Python数据分析实战之技巧总结

数据分析实战遇到几个问题?...—— PandasDataFrame如何固定字段排序 —— 保证字段唯一性应如何处理 —— 透视表pivot_table函数转化长表注意问题 ——PandasDataFrame数据框存在缺失NaN...运算如何应对 ——如何对数据框进行任意行列增、删、改、查操作 —— 如何实现字段自定义打标签 Q1:PandasDataFrame如何固定字段排序 df_1 = pd.DataFrame({"itemtype...Q4、数据运算存在NaN如何应对 需求:pandas处理多列相减,实际某些元素本身为空如何碰到一个单元格元素为空就忽略了不计算,一般怎么解决!...Q5、如何对数据框进行任意行列增、删、改、查操作 df1=df.copy() #复制一下 # 增操作 #普通索引,直接传入行或列 # 在第0添加新 df1.loc[0] = ["F","1月",

2.4K10

盘点66个Pandas函数,轻松搞定“数据清洗”!

df.shape 输出: (5, 2) 另外,len()可以查看某列行数,count()则可以查看该列有效个数,包含无效Nan)。...df["迟到天数"] = df["迟到天数"].clip(0,31) 唯一,unique()是以数组形式返回列所有唯一nunique()返回是唯一个数。...df["gender"].unique() df["gender"].nunique() 输出: 在数值数据操作,apply()函数功能是将一个自定义函数作用于DataFrame或者列;applymap...split 分割字符串,将一列扩展为多列 strip、rstrip、lstrip 去除空白符、换行符 findall 利用正则表达式,去字符串匹配,返回查找结果列表 extract、extractall...df.reset_index(drop=True) 输出: rename()重命名用于更改行列标签,即行列索引。可以传入一个字典或者一个函数。在数据预处理,比较常用。

3.7K11

pandas读取表格后常用数据处理操作

这篇文章其实来源于自己数据挖掘课程作业,通过完成老师布置作业,感觉对于使用pythonpandas模块读取表格数据进行操作有了更深层认识,这里做一个整理总结。...本文总结了一些通过pandas读取表格并进行常用数据处理操作,更详细参数应该关注官方参数文档 1、读取10数据 相关参数简介: header:指定作为列名,默认0,即取第一为列名,数据为列名以下数据...如果指定参数,则会尝试使用逗号分隔。 nrows:需要读取行数(从文件头开始算起) tabledata = pandas.read_excel("....,如果数据文件没有列标题,就需要执行header=None name_columns = [' ','名字','类型', '城市', '地区', '地点', '评分', '评分人数', '价格']...更加详细使用说明可以参考昨日「凹凸数据」另一条推文,《 ix | pandas读取表格后行列取值改操作》。

2.4K00

玩转Pandas,让数据处理更easy系列1

:append到pd索引标签 单独说明一点: Series元素类型可以是不同,比如: mix = pd.Series( [3, '5', 7.0] ) # 此时mix类型为object,...不是像上面的int64 2.2 Series索引 创建Series时,如果指定index,默认索引从0开始。...元素个数还是3个,只不过元素大小变为[6,10,14],注意如果索引不相同add,会增加元素个数,但是所有元素都变为Nan 那append呢?...或者, s3[1] = 6 2.3.4 查找 查找某个元素,可以通过标签或索引,见如上修改方法,不再详述。...既然DataFrame和Series如此紧密,那么它们之间又是如何通信呢? 下面看下如何将一个Series转载到一个DataFrame实例

1.1K21

pandas | DataFrame基础运算以及空填充

如果是计算两个DataFrame相除的话,那么除了对应数据会被置为Nan之外,除零这个行为也会导致异常值发生(可能不一定是Nan,而是inf)。...也就是说对于对于只在一个DataFrame缺失位置会被替换成我们指定,如果在两个DataFrame都缺失,那么依然还会是Nan。 ?...我们发现使用了dropna之后,出现了空行都被抛弃了。只保留了没有空,有时候我们希望抛弃是的列不是,这个时候我们可以通过传入axis参数进行控制。 ?...all表示只有在某一或者是某一列全为空时候才会抛弃,any与之对应就是只要出现了空就会抛弃。默认填的话认为是any,一般情况下我们也用不到这个参数,大概有个印象就可以了。...实现这个功能需要用到method这个参数,它有两个接收,ffill表示用前一来进行填充,bfill表示使用后一填充。 ?

3.8K20

Python练手,pandas

,不是按行列索引查找 # 6214C000201 print(df2.iloc[3]) #第4 # accountID            6214C000403 # custID                     ...df3.at[range(7)[1],'accountID'] = '==========='  # 更新  按行列标签查找 df3.iat[0,0] = '+++++++++++' # 更新  按行列索引查找...# 3  C0004  6214C000403     103.0        NaN print(df4.dropna(how='any'))  #过滤所有包含空 #   custID    ...,将对象对应元素打包成一个个元组,然后返回由这些元组组成列表                       'foo', 'foo', 'qux', 'qux'],                       ...grade"] = df["grade"].cat.set_categories(["very bad", "bad", "medium", "good", "very good"]) #重新定义类别,覆盖原来类别

79610

再见,Excel数据透视表;你好,pd.pivot_table

Excel数据透视表虽好,但在pandas面前它也有其一面! ? 01 何为透视表 数据透视表,顾名思义,就是通过对数据执行一定"透视",完成对复杂数据分析统计功能,常常伴随降维效果。...至此,我们可以发现数据透视表实际存在4个重要设置项: 字段 列字段 统计字段 统计方式(聚合函数) 值得指出是,以上4个要素每一个都可以唯一,例如可以拖动多个字段到/列字段形成二级索引,...注意这里缺失是指透视后结果可能存在缺失,而非透视前原表缺失 margins : 指定是否加入汇总列,布尔,默认为False,体现为Excel透视表小计和列小计 margins_name...: 汇总列列名,与上一个参数配套使用,默认为'All',当margins为False时,该参数无作用 dropna : 是否丢弃汇总结果全为NaN或列,默认为True。...那么二者主要区别在于: pivot仅适用于数据变形,即由长表变为宽表,相当于对数据进行了重组;pivot_table除了数据重组外,还有一个额外效果,即数据聚合,即若重组后对应标签和列标签下取值唯一

2.1K51

python pkl文件_Python字符串格式化输出方式包括

pkl文件读取出来 pickle.load(f) #关闭文件 f.close() 3.pandas库对文件进行写入,读取操作 写入.pkl文件: 使用DataFrameto_pickle就可以生成pickle...文件,因此如果需要存储其他类型数据将其转化为DataFrame即可存取,例如将dict类型数据保存在.pkl文件 import pandas as pd import numpy as np df...*行列标签(不是索引)**进行查找 import pandas as pd dic={ 'A':[1,2,3],'B':[4,5,6],'C':[7,5,7]} df = pd.DataFrame(dic...在没有指定具体索引时,则自动创建一个0~N-1整数型索引 0 9 1 23 2 3 3 56 dtype: int64 可以通过Seriesvalues和index属性获取数组和索引...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

2.7K20
领券