使用给定的输入列表对DataFrame列进行排序

尼卡什

嗨,我想用给定的输入列表值对DataFrame列进行排序。我的清单如下:

inputlist
[309.0, 585.0, 221.0, 789.0, 195.0, 354.0, 307.0, 698.0, 426.0]

而DataFrame是:

  val    kaywords

195    keyword3
221    keyword5
307    keyword8
309    keyword9
354    keyword0
426    keyword1
585    keyword2
698    keyword4
789    keyword33

在这里,我想根据给定的“输入列表”对DataFrame列“ val”进行排序。

我期望以下输出:

val    kaywords

309    keyword9
585    keyword2
221    keyword5
789    keyword33
195    keyword3
354    keyword0
307    keyword8
698    keyword4
426    keyword1
耶斯列尔

使用ordered categorical,但首先将list的值转换为整数:

inputlist = [309.0, 585.0, 221.0, 789.0, 195.0, 354.0, 307.0, 698.0, 426.0]

df['val'] = pd.Categorical(df['val'], ordered=True, categories=[int(x) for x in inputlist])
df = df.sort_values('val')
print (df)
   val   kaywords
3  309   keyword9
6  585   keyword2
1  221   keyword5
8  789  keyword33
0  195   keyword3
4  354   keyword0
2  307   keyword8
7  698   keyword4
5  426   keyword1

如果fromval中的所有值都存在于另一个想法inputlist

inputlist = [int(x) for x in inputlist]
df = df.set_index('val').reindex(inputlist).reset_index()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何对用户输入列表元素进行排序?

给定该列中已排序的值列表,如何在该列上对 Pandas DataFrame 进行排序?

使用带有列表的列对 Pandas DataFrame 进行排序

在pandas dframe中选择行,其中给定的输入列表是dframe列中列表的子集

对Pandas Dataframe列中的列表进行排序

Python:对输入列表进行验证

在 Pandas 列中输入列表值

如何使用for循环遍历pandas dataframe列以基于给定的列表对值进行计数

使用给定的列表熊猫对CSV文件进行排序

使用Erlang进行I / O,试图将输入文件放入列表

Excel使用列表对列进行重新排序

如何使用字符串列表对Pandas Dataframe中的列进行排序

如何对 DataFrame 列中的列表元素进行排序

对输入列表进行迭代功能(Q / KDB)

在类中写出整个输入列表以进行模型预测

如何使用用户输入对链接列表进行排序?

在列列表上使用 sklearn 转换器并保留输入列

DataFrame列按给定列表排序,并为缺少的列添加空列

如何对给定的数组列表进行排序?

来自dataFrame中嵌入列表的DataFrame动态列

如何通过使用某种特定格式对给定的列进行排序来对表进行排序

如果输入列表已排序,则流返回的列表是否将始终排序?

根据输入列表从特定列中提取循环信息

使用给定的运行时构造输入以进行插入排序

Python:排序插入列表

如何使用函数输入在函数[R]中对列进行排序

在DataFrame中对列进行排序

使用JavaScript设置HTML5输入列表值

使用类型系统检查输出和输入列表的长度