首页 > 解决方案 > 如何在 Pandas 中按值对数据框进行排序?

问题描述

我在 csv 中有一个数据集,我pd.read_csv.想通过去扫描值对现有数据进行排序。

我的代码是这样的:

dataset = pd.read_csv('Kripto.csv')
sorted = dataset.sort_values(by = "Freq1", ascending=False)

x = dataset.iloc[:, :].values

我的数据集(打印(数据集))是这样的:

 Letter;Freq1

0      A;0.0817

1      B;0.0150

2      C;0.0278

3      D;0.0425

4      E;0.1270

当我想使用此代码时:

sorted = dataset.sort_values(by = "Freq1", ascending=False)

python给我一个错误并说KeyError:'Freq1'

我知道“Freq1”不是列的名称,但我不知道如何命名

标签: pythonpandassorting

解决方案


您的 CSV 文件使用分号分隔值。由于默认情况下 Pandas 需要逗号,因此请使用

dataset = pd.read_csv('Kripto.csv', sep=';') 

反而。

您还应该使用sorted数据集来按排序顺序获取值,而不是dataset,因为后者将保持未排序:

x = sorted.iloc[:, :].values

推荐阅读