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

整理了 25 个 Pandas 实用技巧,拿走不谢!

将字符型转换为数值型 让我们来创建另一个示例DataFrame: ? 这些数字实际上储存为字符型,导致其数据类型为object: ? 为了对这些列进行数学运算,我们需要将数据类型转换成数值型。...将一个由列表组成的Series扩展成DataFrame 让我们创建一个新的示例DataFrame: ? 这里有两列,第二列包含了Python中的由整数元素组成的列表。...该DataFrame包含了与MultiIndexed Series一样的数据,不同的是,现在你可以用熟悉的DataFrame的函数对它进行操作。 22....数据透视表的另一个好处是,你可以通过设置margins=True轻松地将行和列都加起来: ? 这个结果既显示了总的存活率,也显示了Sex和Passenger Class的存活率。...我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色。 这里有另一个DataFrame格式化的例子: ?

3.2K10

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

Pivot 透视表将创建一个新的“透视表”,该透视表将数据中的现有列投影为新表的元素,包括索引,列和值。初始DataFrame中将成为索引的列,并且这些列显示为唯一值,而这两列的组合将显示为值。...包含值的列将转换为两列:一列用于变量(值列的名称),另一列用于值(变量中包含的数字)。 ? 结果是ID列的值(a,b,c)和值列(B,C)及其对应值的每种组合,以列表格式组织。...要记住:从外观上看,堆栈采用表的二维性并将列堆栈为多级索引。 Unstack 取消堆叠将获取多索引DataFrame并对其进行堆叠,将指定级别的索引转换为具有相应值的新DataFrame的列。...在表上调用堆栈后再调用堆栈不会更改该堆栈(原因是存在“ 0 ”)。 ? 堆叠中的参数是其级别。在列表索引中,索引为-1将返回最后一个元素。这与水平相同。...因此,它接受要连接的DataFrame列表。 如果一个DataFrame的另一列未包含,默认情况下将包含该列,缺失值列为NaN。

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

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

    inplace参数设置为True以保存更改。我们删除了4列,因此列数从14减少到10。 2.读取时选择特定的列 我们只打算读取csv文件中的某些列。读取时,列列表将传递给usecols参数。...通过将isna与sum函数一起使用,我们可以看到每列中缺失值的数量。 df.isna().sum() ? 6.使用loc和iloc添加缺失值 我正在做这个例子来练习loc和iloc。...尽管我们对loc和iloc使用了不同的列表示形式,但行值没有改变。原因是我们使用数字索引标签。因此,行的标签和索引都相同。 缺失值的数量已更改: ? 7.填充缺失值 fillna函数用于填充缺失值。...它使探索数据集和揭示变量之间的潜在关系变得更加容易。 我们将为groupby函数写几个例子。让我们从一个简单的开始。下面的代码将根据地理位置和性别的组合对行进行分组,然后为我们提供每组的平均流失率。...符合指定条件的值将保持不变,而其他值将替换为指定值。 20.排名函数 它为这些值分配一个等级。让我们创建一个根据客户余额对客户进行排名的列。

    10.8K10

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

    将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...将一个字符串划分成多个列 我们先创建另一个新的示例DataFrame: df = pd.DataFrame({'name':['John Arthur Doe', 'Jane Ann Smith'],...']).Survived.mean().unstack() 该DataFrame包含了与MultiIndexed Series一样的数据,不同的是,现在你可以用熟悉的DataFrame的函数对它进行操作...数据透视表的另一个好处是,你可以通过设置margins=True轻松地将行和列都加起来: titanic.pivot_table(index='Sex', columns='Pclass', values

    6.6K50

    Pandas Sort:你的 Python 数据排序指南

    下一个示例将解释如何指定排序顺序以及为什么注意您使用的列名列表很重要。 按升序按多列排序 要在多个列上对 DataFrame 进行排序,您必须提供一个列名称列表。...在列表中指定列名的顺序对应于 DataFrame 的排序方式。 更改列排序顺序 由于您使用多列进行排序,因此您可以指定列的排序顺序。...如果要按升序对某些列进行排序,并按降序对某些列进行排序,则可以将布尔值列表传递给ascending....在这个例子中,您排列数据帧由make,model和city08列,与前两列按照升序排序和city08按降序排列。...对 DataFrame 的列进行排序 您还可以使用 DataFrame 的列标签对行值进行排序。使用设置为.sort_index()的可选参数将按列标签对 DataFrame 进行排序。

    14.3K00

    python对100G以上的数据进行排序,都有什么好的方法呢

    下一个示例将解释如何指定排序顺序以及为什么注意您使用的列名列表很重要。 按升序按多列排序 要在多个列上对 DataFrame 进行排序,您必须提供一个列名称列表。...在列表中指定列名的顺序对应于 DataFrame 的排序方式。 更改列排序顺序 由于您使用多列进行排序,因此您可以指定列的排序顺序。...如果要按升序对某些列进行排序,并按降序对某些列进行排序,则可以将布尔值列表传递给ascending....在这个例子中,您排列数据帧由make,model和city08列,与前两列按照升序排序和city08按降序排列。...对 DataFrame 的列进行排序 您还可以使用 DataFrame 的列标签对行值进行排序。使用设置为.sort_index()的可选参数将按列标签对 DataFrame 进行排序。

    10K30

    整理了25个Pandas实用技巧(上)

    在这种情况下,你可以使用Numpy的random.rand()函数,告诉它行数和列数,将它传递给DataFrame constructor: ?...这种方式很好,但如果你还想把列名变为非数值型的,你可以强制地将一串字符赋值给columns参数: ? 你可以想到,你传递的字符串的长度必须与列数相同。...更改列名 让我们来看一下刚才我们创建的示例DataFrame: ? 我更喜欢在选取pandas列的时候使用点(.),但是这对那么列名中含有空格的列不会生效。让我们来修复这个问题。...将字符型转换为数值型 让我们来创建另一个示例DataFrame: ? 这些数字实际上储存为字符型,导致其数据类型为object: ? 为了对这些列进行数学运算,我们需要将数据类型转换成数值型。...glob会返回任意排序的文件名,这就是我们为什么要用Python内置的sorted()函数来对列表进行排序。

    2.2K20

    python数据科学系列:pandas入门详细教程

    导读 前2篇分别系统性介绍了numpy和matplotlib的入门基本知识,今天本文自然是要对pandas进行入门详细介绍,通过本文你将系统性了解pandas为何会有数据分析界"瑞士军刀"的盛誉。...这里提到了index和columns分别代表行标签和列标签,就不得不提到pandas中的另一个数据结构:Index,例如series中标签列、dataframe中行标签和列标签均属于这种数据结构。...前者是将已有的一列信息设置为标签列,而后者是将原标签列归为数据,并重置为默认数字标签 set_axis,设置标签列,一次只能设置一列信息,与rename功能相近,但接收参数为一个序列更改全部标签列信息(...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空

    15.1K20

    合并Pandas的DataFrame方法汇总

    如果在不交换位置的情况下比较左联接和外联接,最终会得到两个相同的结果。...这种追加的操作,比较适合于将一个DataFrame的每行合并到另外一个DataFrame的尾部,即得到一个新的DataFrame,它包含2个DataFrames的所有的行,而不是在它们的列上匹配数据。...如果设置为 True ,它将忽略原始值并按顺序重新创建索引值 keys:用于设置多级索引,可以将它看作附加在DataFrame左外侧的索引的另一个层级的索引,它可以帮助我们在值不唯一时区分索引 用与 df2...轴)方向上合并,要按列(即在1轴方向上合并)将两个DataFrames连接在一起,要将axis值从默认值0更改为1: df_column_concat = pd.concat([df1, df_row_concat...方法5:combine_first()和update() 假设有一个DataFrame,但是它存在缺失数据,希望能够从另一个DataFrame中讲丢失的数据填充进来。

    5.7K10

    Pandas中替换值的简单方法

    使用内置的 Pandas 方法进行高级数据处理和字符串操作 Pandas 库被广泛用作数据处理和分析工具,用于从数据中清理和提取特征。 在处理数据时,编辑或删除某些数据作为预处理步骤的一部分。...在这篇文章中,让我们具体看看在 DataFrame 中的列中替换值和子字符串。当您想替换列中的每个值或只想编辑值的一部分时,这会派上用场。 如果您想继续,请在此处下载数据集并加载下面的代码。...首先,让我们快速看一下如何通过将“Of The”更改为“of the”来对表中的“Film”列进行简单更改。...也就是说,需要传递想要更改的每个值,以及希望将其更改为什么值。在某些情况下,使用查找和替换与定义的正则表达式匹配的所有内容可能更容易。...首先,如果有多个想要匹配的正则表达式,可以在列表中定义它们,并将其作为关键字参数传递给 replace 方法。然后,只需要显式传递另一个关键字参数值来定义想要的替换值。

    5.5K30

    通宵翻译Pandas官方文档,写了这份Excel万字肝货操作!

    If/then逻辑 假设我们想要根据 total_bill 是小于还是大于 10 美元,来创建一个具有低值和高值的列。 在Excel电子表格中,可以使用条件公式进行逻辑比较。...在 Pandas 中,您通常希望在使用日期进行计算时将日期保留为日期时间对象。输出部分日期(例如年份)是通过电子表格中的日期函数和 Pandas 中的日期时间属性完成的。...列的选择 在Excel电子表格中,您可以通过以下方式选择所需的列: 隐藏列; 删除列; 引用从一个工作表到另一个工作表的范围; 由于Excel电子表格列通常在标题行中命名,因此重命名列只需更改第一个单元格中的文本即可...pandas 有一个 DataFrame.sort_values() 方法,它需要一个列列表来排序。...查找和替换 Excel 查找对话框将您带到匹配的单元格。在 Pandas 中,这个操作一般是通过条件表达式一次对整个列或 DataFrame 完成。

    19.6K20

    Pandas 25 式

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...这里要注意的是,字符串里的字符数量必须与 DataFrame 的列数一致。 3. 重命名列 ? 用点(.)选择 pandas 里的列写起来比较容易,但列名里有空格,就没法这样操作了。...用多个文件建立 DataFrame ~ 按列 上个技巧按行合并数据集,但是如果多个文件包含不同的列,该怎么办? 本例将 drinks 数据集分为了两个 CSV 文件,每个文件都包含 3 列。 ?...要按性别与舱型(Pclass)统计幸存率,就要按性别与舱型进行 groupby()。 ?...这个 DataFrame 包含的数据与多重索引序列一模一样,只是可以用大家更熟悉的 DataFrame 方法进行操控。 22.

    8.4K00

    针对SAS用户:Python数据分析库pandas

    一个例子是使用频率和计数的字符串对分类数据进行分组,使用int和float作为连续值。此外,我们希望能够附加标签到列、透视数据等。 我们从介绍对象Series和DataFrame开始。...换句话说,DataFrame看起来很像SAS数据集(或关系表)。下表比较在SAS中发现的pandas组件。 ? 第6章,理解索引中详细地介绍DataFrame和Series索引。...它显示对象更改“前”和“后”的效果。 ? 为了说明.fillna()方法,请考虑用以下内容来创建DataFrame。 ? ? ? ?...NaN被上面的“下”列替换为相邻单元格。下面的单元格将上面创建的DataFrame df2与使用“前向”填充方法创建的数据框架df9进行对比。 ? ?...NaN被上面的“上”列替换为相邻单元格。下面的单元格将上面创建的DataFrame df2与使用“后向”填充方法创建的数据框架df10进行对比。 ? ?

    12.1K20

    整理了25个Pandas实用技巧

    将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...为了对多个函数进行聚合,你可以使用agg()函数,传给它一个函数列表,比如sum()和count(): ? 这将告诉我们没定订单的总价格和数量。...该DataFrame包含了与MultiIndexed Series一样的数据,不同的是,现在你可以用熟悉的DataFrame的函数对它进行操作。...数据透视表的另一个好处是,你可以通过设置margins=True轻松地将行和列都加起来: ? 这个结果既显示了总的存活率,也显示了Sex和Passenger Class的存活率。...我们现在隐藏了索引,将Close列中的最小值高亮成红色,将Close列中的最大值高亮成浅绿色。 这里有另一个DataFrame格式化的例子: ?

    2.8K40

    整理了25个Pandas实用技巧(下)

    将DataFrame划分为两个随机的子集 假设你想要将一个DataFrame划分为两部分,随机地将75%的行给一个DataFrame,剩下的25%的行给另一个DataFrame。...为了对多个函数进行聚合,你可以使用agg()函数,传给它一个函数列表,比如sum()和count(): 这将告诉我们没定订单的总价格和数量。...这使得该数据难以读取和交互,因此更为方便的是通过unstack()函数将MultiIndexed Series重塑成一个DataFrame: 该DataFrame包含了与MultiIndexed Series...数据透视表的另一个好处是,你可以通过设置margins=True轻松地将行和列都加起来: 这个结果既显示了总的存活率,也显示了Sex和Passenger Class的存活率。...这里有另一个DataFrame格式化的例子: Volume列现在有一个渐变的背景色,你可以轻松地识别出大的和小的数值。

    2.4K10

    Pandas

    需要注意的是 loc 函数的第一个参数不能直接传入整数,可以考虑送个列表进去 DataFrame.iloc[]访问 使用方法与 loc 相似,主要区别是该函数在使用时对列的索引可以用列索引号。...),除了指明axis对行或者列标签的名字进行调整以外,还可以写成类似于index=mapper的形式,默认情况下,mapper匹配不到的值不会报错 更改 DataFrame 中的数据 更改值 更改值可以借助访问...: df=pd.DataFrame(data,index,column) df.index.names= df.columns.names= 具体传入参数根据列标签和行标签进行适当调整即可(列表或者列表嵌套...数据重塑 数据的重塑主要指的是将数据的shape进行变化,本质上其实是使用stack()和unstack()方法,只是因为比较常用而进行了一个封装(一般来说我们用于处理的数据是不存在索引的,或者说往往会用连续数字做一个简单的索引...将样本从小到大进行排列,按照样本位置将数据划分为位置间隔相等的区间。位置间隔相同意味着样本出现的频数相同。 获得每个区间的第一个和最后一个元素的值,两者的差值即为与该位置区间对应的元素取值区间。

    9.2K30

    Pandas_Study01

    ,但特殊的同时与普通的一维数组不同 列表只能有从0开始的整数索引,而series则可以自定义标签索引,这一点来看,跟字典又比较相似,因此series又可以拥有类似字典的操作方式,series 的标签索引可以随时更新修改替换...iloc 用法(Dataframe) iloc([这里是行标识], [这里是列标识]) 语法与loc 看上去比较类似,但功能更为单一 示例: data.iloc[:,1:4] # 返回全部行,索引为1到...如果参与运算的一个是DataFrame,另一个是Series,那么pandas会对Series进行行方向的广播,然后做相应的运算。 4)....如果是列方向的运算,一个是dataFrame,另一个是Series,首先将Series沿列方向广播,然后运算。...2. add() 和 append() 方法 add 类似+ 运算,将两个series 相加得到结果,append 则是将一个series 连接在前一个series的后面,类似列表的相加。

    20110

    数据分析篇 | PyCon 大咖亲传 pandas 25 式,长文建议收藏

    操控缺失值 把字符串分割为多列 把 Series 里的列表转换为 DataFrame 用多个函数聚合 用一个 DataFrame 合并聚合的输出结果 选择行与列 重塑多重索引 Series 创建透视表...这里要注意的是,字符串里的字符数量必须与 DataFrame 的列数一致。 3. 重命名列 ? 用点(.)选择 pandas 里的列写起来比较容易,但列名里有空格,就没法这样操作了。...用多个文件建立 DataFrame ~ 按列 上个技巧按行合并数据集,但是如果多个文件包含不同的列,该怎么办? 本例将 drinks 数据集分为了两个 CSV 文件,每个文件都包含 3 列。 ?...要按性别与舱型(Pclass)统计幸存率,就要按性别与舱型进行 groupby()。 ?...这个 DataFrame 包含的数据与多重索引序列一模一样,只是可以用大家更熟悉的 DataFrame 方法进行操控。 22.

    7.2K20
    领券