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

pandas库简单介绍(2)

另外一个构建方式是字典嵌套字典构造DataFrame数据;嵌套字典赋给DataFrame,pandas会把字典键作为,内部字典键作为索引。...(*2)指定顺序和索引、删除、增加 指定顺序可以在声明DataFrame时就指定,通过添加columns参数指定顺序,通过添加index参数指定哪个列作为索引;移除可以用del frame...[列名]进行移除;增加列有两个方法:1,直接frame[列名]=值;2,frame[列名]=Series对象,如果被赋值不存在,会生成一个。...计算两个索引交集 union 计算两个索引并集 delete 将位置i元素删除,并产生索引 drop 根据传入参数删除指定索引值,并产生索引 unique 计算索引唯一值序列 is_nuique...另外一种重建索引方式是使用loc方法,可以了解一下: reindex方法参数表 常见参数 描述 index 索引序列(行上) method 插值方式,ffill前填充,bfill后向填充

2.3K10

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

初始DataFrame中将成为索引,并且这些显示为唯一值,而这两组合将显示为值。这意味着Pivot无法处理重复值。 ? 旋转名为df DataFrame代码 如下: ?...Unstack 取消堆叠将获取多索引DataFrame并对其进行堆叠,将指定级别的索引转换为具有相应值DataFrame。在表上调用堆栈后再调用堆栈不会更改该堆栈(原因是存在“ 0 ”)。...此键允许将表合并,即使它们排序方式不一样。完成合并DataFrame 默认情况下会将后缀_x 和 _y添加 到value。 ?...例如,考虑使用pandas.concat([df1,df2])串联具有相同列名 两个DataFrame df1 和 df2 : ?...串联是将附加元素附加到现有主体上,而不是添加信息(就像逐联接一样)。由于每个索引/行都是一个单独项目,因此串联将其他项目添加DataFrame中,这可以看作是行列表。

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

python数据分析——数据分类汇总与统计

例如, DataFrame可以在其行(axis=0)或(axis=1)上进行分组。然后,将一个函数应用(apply)到各个分组并产生一个值。...如果传入一组函数或函数名,得到DataFrame就会相应函数命名。...具体办法是agg传入一个从列名映射到函数字典: 只有将多个函数应用到至少一时,DataFrame才会拥有层次化 2.3.返回不含行索引聚合数据 到目前为止,所有例中聚合数据都有由唯一分组键组成索引...首先,编写一个选取指定具有最大值函数: 现在,如果对smoker分组并用该函数调用apply,就会得到: top函数在DataFrame各个片段调用,然后结果由pandas.concat...传入margins=True参数(添加小计/总计) ,将会添加标签为ALL行和

12810

Pandas速查手册中文版

文件 df.to_sql(table_name, connection_object):导出数据到SQL表 df.to_json(filename):Json格式导出数据到文本文件 创建测试对象 pd.DataFrame...(np.random.rand(20,5)):创建20行5随机数组成DataFrame对象 pd.Series(my_list):从可迭代对象my_list创建一个Series对象 df.index...s.value_counts(dropna=False):查看Series对象唯一值和计数 df.apply(pd.Series.value_counts):查看DataFrame对象中每一唯一值和计数...数据选取 df[col]:根据列名,并以Series形式返回 df[[col1, col2]]:DataFrame形式返回多 s.iloc[0]:按位置选取数据 s.loc['index_one...中添加到df1尾部 df.concat([df1, df2],axis=1):将df2中添加到df1尾部 df1.join(df2,on=col1,how='inner'):对df1和df2

12.1K92

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

使用query函数语法十分简单: df.query('value_1 < value_2') ? 2. Insert 当我们想要在 dataframe 里增加一数据时,默认添加在最后。...当我们需要添加在任意位置,则可以使用 insert 函数。使用该函数只需要指定插入位置、列名称、插入对象数据。...变量名和列名通常默认给出。我们也可以使用melt函数var_name和value_name参数来指定列名。 11....df1和df2是基于column_a共同值进行合并,merge函数how参数允许不同方式组合dataframe,如:“inner”、“outer”、“left”、“right”等。...inner:仅在on参数指定具有相同值行(如果未指定其它方式,则默认为 inner 方式) outer:全部数据 left:左一dataframe所有数据 right:右一dataframe

5.5K30

妈妈再也不用担心我忘记pandas操作了

创建测试对象: pd.DataFrame(np.random.rand(20,5)) # 创建20行5随机数组成DataFrame对象 pd.Series(my_list) # 从可迭代对象my_list...查看数值型汇总统计 s.value_counts(dropna=False) # 查看Series对象唯一值和计数 df.apply(pd.Series.value_counts) # 查看DataFrame...对象中每一唯一值和计数 数据选取: df[col] # 根据列名,并以Series形式返回 df[[col1, col2]] # DataFrame形式返回多 df.iloc[0] # 按位置选取数据...df.min() # 返回每一最小值 df.median() # 返回每一中位数 df.std() # 返回每一标准差 数据合并: df1.append(df2) # 将df2中添加到...(np.mean) # 对DataFrame每一应用函数np.mean data.apply(np.max,axis=1) # 对DataFrame每一行应用函数np.max 其它操作: 改列名

2.2K31

pandas系列0-基础操作大全

,通过chunksize可以分批次读取: # 使用类似迭代方式 data=pd.read_csv(file, chunksize=1000000) for sub_df in data: print...查看索引和列名 DataFrame.columns DataFrame.index 属性和索引重排 DataFrame.reindex([columns=['col1','col2','col3'.....重命名索引和轴 data.rename(index=str.title,columns=str.upper) #修改某个索引和列名,可以通过传入字典 data.rename(index={'old_index...#排名,给出是rank值 series.rank(ascending=False) #如果出现重复值,则取平均秩次 #在行或列上面的排名 dataframe.rank(axis=0) 成员 、唯一值...(row) #columns:透视表索引(column) #aggfunc:应用什么函数 #fill_value:空值填充 #margins:添加汇总项 #然后可以对透视表进行筛选 table.query

74110

数据导入与预处理-第6章-02数据变换

2.1 数据变换方法(6.2.1 ) 数据变换常见处理方式包括: 数据标准化处理 数据离散化处理 数据泛化处理 在对数据进行分析或挖掘之前,数据必须满足一定条件: 比如方差分析时要求数据具有正态性...基于值重塑数据(生成一个“透视”表)。使用来自指定索引/唯一值来形成结果DataFrame轴。此函数不支持数据聚合,多个值将导致MultiIndex。...pivot_table透视过程如下图: 假设某商店记录了5月和6月活动期间不同品牌手机促销价格,保存到日期、商品名称、价格为标题表格中,若对该表格商品名称进行轴向旋转操作,即将商品名称一唯一值变换成索引...,商品一唯一数据变换为索引: # 将出售日期一唯一数据变换为行索引,商品一唯一数据变换为索引 new_df = df_obj.pivot(index='出售日期', columns='商品名称...列名为a,这个列名会与原有的列名冲突,换成a_count比较合适,方法如下: df_obj.groupby(by='f').agg({'a':'count'}).reset_index().rename

19.2K20

Python开发之Pandas使用

Pandas 为 Python 带来了两个数据结构,即 Pandas Series(可类比于表格中某一)和 Pandas DataFrame(可类比于表格)。...(字典中可以包含Series或arrays或),或者是DataFrame; index是索引,输入列表,如果没有设置该参数,会默认0开始往下计数; columns是列名,输入列表,如果没有设置该参数...其参数如下: value:用来替换NaN值 method:常用有两种,一种是ffill前填充,一种是backfill后向填充 axis:0为行,1为...df.shape #查看数据集信息(列名、数据类型、每数据量——可以看出数据缺失情况) df.info() #查看数据集基本统计信息 df.describe() #查看数据集列名 df.columns...() #查看某唯一值数量 df['col_name'].nunique() #对数据集进行排序 df.sort_values(by = 'col_name',ascending = False)

2.8K10

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

18.插入 我们可以DataFrame添加,如下所示: group = np.random.randint(10, size=6) df_new['Group'] = group df_new...但添加在末尾。如果要将放在特定位置,则可以使用插入函数。 df_new.insert(0, 'Group', group) df_new ?...method参数指定如何处理具有相同值行。first表示根据它们在数组(即)中顺序对其进行排名。 21.唯一数量 使用分类变量时,它很方便。我们可能需要检查唯一类别的数量。...低基数意味着与行数相比,一具有很少唯一值。例如,Geography具有3个唯一值和10000行。 我们可以通过将其数据类型更改为category来节省内存。...我已经将虚构名称添加到df_new DataFrame中。 ? 让我们选择客户名称Mi开头行。 我们将使用str访问器startswith方法。

10.6K10

【精心解读】用pandas处理大数据——节省90%内存消耗小贴士

下图所示为pandas如何存储我们数据表前十二: 可以注意到,这些数据块没有保持对列名引用,这是由于为了存储dataframe真实数据,这些数据块都经过了优化。...这种存储方式消耗较少空间,并允许我们较快速地访问数据。...因为Python是一种高层、解析型语言,它没有提供很好对内存中数据如何存储细粒度控制。 这一限制导致了字符串一种碎片化方式进行存储,消耗更多内存,并且访问速度低下。...下面我们写一个循环,对每一个object进行迭代,检查其唯一值是否少于50%,如果是,则转换成类别类型。...dtype参数接受一个列名(string型)为键字典、Numpy类型对象为值字典。 首先,我们将每一目标类型存储在列名为键字典中,开始前先删除日期,因为它需要分开单独处理。

8.6K50

利用NumPy和Pandas进行机器学习数据处理与分析

每个值都有一个与之关联索引,它们0为起始。Series数据类型由pandas自动推断得出。什么是DataFrame?...字典键表示列名,对应值是列表类型,表示该数据。我们可以看到DataFrame具有清晰表格结构,并且每个都有相应标签,方便阅读访问和筛选数据我们可以使用索引、标签或条件来访问和筛选数据。...例如,要访问DataFrame数据,可以使用列名:# 访问print(df['Name'])运行结果如下要访问DataFrame一行数据,可以使用iloc和loc方法:# 访问行print...Series或DataFrame添加或删除数据。...例如,要添加数据,可以将一个Series赋值给DataFrame一个列名# 添加df['Gender'] = ['Male', 'Female', 'Male', 'Female']print

16420

Pandas 中文官档 ~ 基础用法4

,该函数在处理标签时,必须返回一个值,而且生成必须是一组唯一值。...简言之,基础迭代(for i in object)生成: Series :值 DataFrame标签 例如,DataFrame 迭代时输出列名: In [245]: df = pd.DataFrame...大部分情况下,没必要对行执行迭代操作,建议用以下几种替代方式: 矢量化:很多操作可以用内置方法或 Numpy 函数,布尔索引…… 调用函数不能在完整 DataFrame / Series 上运行时,...::: ::: danger 警告 永远不要修改迭代内容,这种方式不能确保所有操作都能正常运作。基于数据类型,迭代器返回是复制(copy)结果,不是视图(view),这种写入可能不会生效!...Series 里每一行数据,该操作不会保留每行数据数据类型,因为数据类型是通过 DataFrame 界定

2.9K40

手把手教你使用Pandas读取结构化数据

Series是一个一维结构序列,包含指定索引信息,可以被视作DataFrame或一行。其操作方法与DataFrame十分相似。...为别名,read_csv函数读取指定路径下文件,然后返回一个DataFrame对象。...打印出来DataFrame包含索引(第一),列名(第一行)及数据内容(除第一行和第一之外部分)。 此外,read_csv函数有很多参数可以设置,如下所示。...list,重新定义列名,默认为None usecols = [] list,定义读取,设定后将缩短读取数据时间,并减小内存消耗,适合读取大量数据,默认为None dtype = {} dict,...这里需要先弄清楚原始数据编码形式,再以指定编码形式读取,例如sample.csv编码为UTF-8,这里指定编码(参数encoding)方式读取。

1K20

Pandas 中文官档 ~ 基础用法4

,该函数在处理标签时,必须返回一个值,而且生成必须是一组唯一值。...简言之,基础迭代(for i in object)生成: Series :值 DataFrame标签 例如,DataFrame 迭代时输出列名: In [245]: df = pd.DataFrame...大部分情况下,没必要对行执行迭代操作,建议用以下几种替代方式: 矢量化:很多操作可以用内置方法或 Numpy 函数,布尔索引…… 调用函数不能在完整 DataFrame / Series 上运行时,...::: ::: danger 警告 永远不要修改迭代内容,这种方式不能确保所有操作都能正常运作。基于数据类型,迭代器返回是复制(copy)结果,不是视图(view),这种写入可能不会生效!...Series 里每一行数据,该操作不会保留每行数据数据类型,因为数据类型是通过 DataFrame 界定

2.4K20

groupby函数详解

计算各数据总和并作为添加到末尾 df['Col_sum'] = df.apply(lambda x: x.sum(), axis=1) 计算指定下每行数据总和并作为添加到末尾 df_sf...计算各行数据总和并作为添加到末尾 df.loc['Row_sum'] = df.apply(lambda x: x.sum()) 计算指定下各行数据总和并作为添加到末尾 MT_fs.loc[...但是,如果对df指定进行聚合时, df['data1'].groupby(df['key1']).mean()(分组键为:Series),唯一方式。...1 groupby()核心用法 (1)根据DataFrame本身某一或多内容进行分组聚合,(a)若按某一聚合,则DataFrame将根据某一内容分为不同维度进行拆解,同时将同一维度再进行聚合...,(b)若按某多聚合,则DataFrame将是多之间维度笛卡尔积,即:DataFrame具有一个层次化索引(由唯一键对组成),例如:“key1”,有a和b两个维度,而“key2”有one和

3.4K11

Pandas 2.2 中文官方教程和指南(十四)

具有MultiIndex情况下DataFrame。 如果具有MultiIndex,您可以选择堆叠哪个级别。...“虚拟”或“指示符”,`get_dummies()`会创建一个`DataFrame`,其中包含唯一变量和表示每行中变量存在值。...您可以 3 种方式指定prefix���prefix_sep: string: 对于要编码每一,使用相同值作为prefix或prefix_sep。...“虚拟”或“指示符”时,get_dummies()会创建一个DataFrame,其中包含唯一变量,值表示每行中这些变量存在情况。...可以 3 种方式指定 prefix 和 prefix_sep: 字符串:对于要编码,使用相同值作为 prefix 或 prefix_sep。 列表:必须与被编码数相同。

26710
领券