pandas 如何允许用户重新排序列表时,有一个?

yshpjwxd  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(124)

我想从DataFrame的列中创建一个唯一值列表,然后允许用户根据他们对列表中项目的偏好对列表进行任意排序。举例来说:

  1. fruit_info = pd.read_csv('Fruit Information.csv')
  2. fruit_list = (fruit_info['Fruit Name'].unique().tolist())
  3. print(fruit_list)
  4. ['Apple','Banana','Cherry','Orange','Watermelon']
  5. sorted_fruit_list = [favorite, 2nd favorite, 3rd favorite, ..., least favorite]

字符串
我试过创建一个字典,用fruits作为键,并传递排名整数作为值,然后按值对字典进行排序并转换为列表,但它似乎很笨拙。有没有更好的方法来获取用户输入,然后将新的顺序传递给列表?谢谢你,谢谢

khbbv19g

khbbv19g1#

也许您可以使用循环来提示用户输入列表中每个水果的排名,然后根据用户输入对列表进行排序?

  1. import pandas as pd
  2. fruit_info = pd.read_csv('Fruit Information.csv')
  3. fruit_list = fruit_info['Fruit Name'].unique().tolist()
  4. # Prompt the user to enter their rankings for each fruit
  5. rankings = {}
  6. for fruit in fruit_list:
  7. rank = input(f"Enter your ranking for {fruit}: ")
  8. rankings[fruit] = int(rank)
  9. # Sort the fruit list based on the user's rankings
  10. sorted_fruit_list = sorted(fruit_list, key=lambda x: rankings[x])
  11. print(sorted_fruit_list)

字符串
希望我的回答能给你一些启示:)

展开查看全部

相关问题