熊猫.sort_values无法按预期排序

时间:2019-04-11 17:12:28

标签: python pandas

我已经从一个字典中创建了一个数据框,该字典试图按特定的行进行排序,但是df.sort_values的排序不符合我的预期。

score_data = {'Name': ['Ben', 'Kyle', 'Joe'],
              'Team Name': ['team1', 'team1', 'team1'],
              'Score': [120, 50, 200]}
df = pd.DataFrame.from_dict(score_data)
df.sort_values('Name', ascending=True, inplace=True)
print(df.to_string(index=False))

尝试按“得分”列进行排序,我期望的是:

Name Team Name  Score
 Joe     team1    200
 Ben     team1    120
Kyle     team1     50

但是我真正得到的是:

Name Team Name  Score
 Ben     team1    120
 Joe     team1    200
Kyle     team1     50

我在这里想念什么?

编辑:我将错误的列名传递给sort_values函数。 h

2 个答案:

答案 0 :(得分:0)

您的问题是您正在按“分数”对我的“姓名”进行排序。

"Failed to create a directory: logs/fit/20190411-193710\train; No such file or directory [Op:CreateSummaryFileWriter]" 

将其更改为:

import tensorflow as tf
import datetime
mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

def create_model():
return tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])

model = create_model()
model.compile(optimizer='adam',
          loss='sparse_categorical_crossentropy',
          metrics=['accuracy'])

log_dir="logs/fit/"
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, 
histogram_freq=1)

model.fit(x=x_train, 
          y=y_train, 
          epochs=5, 
          validation_data=(x_test, y_test), 
          callbacks=[tensorboard_callback])

希望这会有所帮助! :)

答案 1 :(得分:0)

使用:

    df.sort_values('Score', ascending=False, inplace=False)

ascending = False将为您将值从高到低排序。