这篇文章主要介绍“pandas.DataFrame Series排序如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pandas.DataFrame Series排序如何使
这篇文章主要介绍“pandas.DataFrame Series排序如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pandas.DataFrame Series排序如何使用”文章能帮助大家解决问题。
以以下数据为例。
import pandas as pddf = pd.read_csv('./data/17/sample_pandas_nORMal.csv')print(df)# name age state point# 0 Alice 24 NY 64# 1 Bob 42 CA 92# 2 Charlie 18 CA 70# 3 Dave 68 TX 70# 4 Ellen 24 CA 88# 5 Frank 30 NY 57
示例是pandas.DataFrame,但是pandas.Series也具有sort_values()和sort_index(),因此用法是相同的。
使用sort_values()方法根据元素值进行排序。
在第一个参数(by)中指定要排序的列的标签(列名)。
df_s = df.sort_values('state')print(df_s)# name age state point# 1 Bob 42 CA 92# 2 Charlie 18 CA 70# 4 Ellen 24 CA 88# 0 Alice 24 NY 64# 5 Frank 30 NY 57# 3 Dave 68 TX 70
默认为升序。如果要使用降序,请将升序参数设置为False。
df_s = df.sort_values('state', ascending=False)print(df_s)# name age state point# 3 Dave 68 TX 70# 0 Alice 24 NY 64# 5 Frank 30 NY 57# 1 Bob 42 CA 92# 2 Charlie 18 CA 70# 4 Ellen 24 CA 88
如果将第一个参数指定为列表,则可以按多列排序。
从列表的后面开始顺序排序的图像。最后,它按列表中的第一列排序。
df_s = df.sort_values(['state', 'age'])print(df_s)# name age state point# 2 Charlie 18 CA 70# 4 Ellen 24 CA 88# 1 Bob 42 CA 92# 0 Alice 24 NY 64# 5 Frank 30 NY 57# 3 Dave 68 TX 70df_s = df.sort_values(['age', 'state'])print(df_s)# name age state point# 2 Charlie 18 CA 70# 4 Ellen 24 CA 88# 0 Alice 24 NY 64# 5 Frank 30 NY 57# 1 Bob 42 CA 92# 3 Dave 68 TX 70
如果将升序参数指定为列表,则可以为每列选择升序或降序。
df_s = df.sort_values(['age', 'state'], ascending=[True, False])print(df_s)# name age state point# 2 Charlie 18 CA 70# 0 Alice 24 NY 64# 4 Ellen 24 CA 88# 5 Frank 30 NY 57# 1 Bob 42 CA 92# 3 Dave 68 TX 70
如果缺少值NaN,则默认情况下将对其排序。
df_nan = df.copy()df_nan.iloc[:2, 1] = pd.np.nanprint(df_nan)# name age state point# 0 Alice NaN NY 64# 1 Bob NaN CA 92# 2 Charlie 18.0 CA 70# 3 Dave 68.0 TX 70# 4 Ellen 24.0 CA 88# 5 Frank 30.0 NY 57df_nan_s = df_nan.sort_values('age')print(df_nan_s)# name age state point# 2 Charlie 18.0 CA 70# 4 Ellen 24.0 CA 88# 5 Frank 30.0 NY 57# 3 Dave 68.0 TX 70# 0 Alice NaN NY 64# 1 Bob NaN CA 92
如果参数na_position =‘first’,它将被安排在开头。
df_nan_s = df_nan.sort_values('age', na_position='first')print(df_nan_s)# name age state point# 0 Alice NaN NY 64# 1 Bob NaN CA 92# 2 Charlie 18.0 CA 70# 4 Ellen 24.0 CA 88# 5 Frank 30.0 NY 57# 3 Dave 68.0 TX 70
要删除缺少的值或将其替换为另一个值,请参阅以下文章。
Pandas删除,替换并提取其中的缺失值NaN(dropna,fillna,isnull)
默认情况下,将返回一个新的排序对象,但是如果inplace参数为True,则原始对象本身将被更改。
df.sort_values('state', inplace=True)print(df)# name age state point# 1 Bob 42 CA 92# 2 Charlie 18 CA 70# 4 Ellen 24 CA 88# 0 Alice 24 NY 64# 5 Frank 30 NY 57# 3 Dave 68 TX 70
与前面的示例一样,默认排序为列(垂直)。
如果要按行方向排序,请将参数轴设置为1。其他参数与前面的示例相同。
由于如果数值和字符串混合使用会发生错误,因此在此处删除字符串列,仅显示数值列。有关drop()方法,请参见以下文章。
Pandas.DataFrame删除指定行和列(drop
df_d = df.drop(['name', 'state'], axis=1)print(df_d)# age point# 1 42 92# 2 18 70# 4 24 88# 0 24 64# 5 30 57# 3 68 70df_d .sort_values(by=1, axis=1, ascending=False, inplace=True)print(df_d)# point age# 1 92 42# 2 70 18# 4 88 24# 0 64 24# 5 57 30# 3 70 68
使用sort_index()方法按索引(行名/列名)排序。
默认情况下,sort_index()根据行名在列方向(垂直方向)上排序。
print(df)# name age state point# 1 Bob 42 CA 92# 2 Charlie 18 CA 70# 4 Ellen 24 CA 88# 0 Alice 24 NY 64# 5 Frank 30 NY 57# 3 Dave 68 TX 70df_s = df.sort_index()print(df_s)# name age state point# 0 Alice 24 NY 64# 1 Bob 42 CA 92# 2 Charlie 18 CA 70# 3 Dave 68 TX 70# 4 Ellen 24 CA 88# 5 Frank 30 NY 57
与sort_values()一样,默认值为升序。如果要使用降序,请将升序参数设置为False。
df_s = df.sort_index(ascending=False)print(df_s)# name age state point# 5 Frank 30 NY 57# 4 Ellen 24 CA 88# 3 Dave 68 TX 70# 2 Charlie 18 CA 70# 1 Bob 42 CA 92# 0 Alice 24 NY 64
与sort_values()一样,可以指定参数inplace。如果为True,则更改原始对象。
df.sort_index(inplace=True)print(df)# name age state point# 0 Alice 24 NY 64# 1 Bob 42 CA 92# 2 Charlie 18 CA 70# 3 Dave 68 TX 70# 4 Ellen 24 CA 88# 5 Frank 30 NY 57
与sort_values()类似,如果设置了参数axis = 1,则根据列名在行方向(水平方向)上进行排序。可以像前面的示例一样使用其他参数。
df_s = df.sort_index(axis=1)print(df_s)# age name point state# 0 24 Alice 64 NY# 1 42 Bob 92 CA# 2 18 Charlie 70 CA# 3 68 Dave 70 TX# 4 24 Ellen 88 CA# 5 30 Frank 57 NYdf.sort_index(axis=1, ascending=False, inplace=True)print(df)# state point name age# 0 NY 64 Alice 24# 1 CA 92 Bob 42# 2 CA 70 Charlie 18# 3 TX 70 Dave 68# 4 CA 88 Ellen 24# 5 NY 57 Frank 30
关于“pandas.DataFrame Series排序如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。
--结束END--
本文标题: pandas.DataFrame Series排序如何使用
本文链接: https://www.lsjlt.com/news/349789.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0