- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个数据框,其中列名是时间(0:00、0:10、0:20、...、23:50)。现在,它们按字符串顺序排序(所以 0:00 是第一个,9:50 是最后一个)但我想按时间对它们进行排序(所以 0:00 是第一个,23:50 是最后一个)。
如果时间是一列,你可以使用
df = df.sort(columns='Time',key=float)
但是 1) 仅当 time 是列本身而不是列名称时才有效,并且 2) sort() 已被弃用,因此我尽量避免使用它。
我正在尝试使用
df = df.sort_index(axis = 1)
但由于列名是字符串格式,它们会根据字符串键进行排序。我试过了
df = df.sort_index(key=float, axis=1)
但这给出了一条错误信息:
Traceback (most recent call last):
File "<ipython-input-112-5663f277da66>", line 1, in <module>
df.sort_index(key=float, axis=1)
TypeError: sort_index() got an unexpected keyword argument 'key'
有没有人知道如何解决这个问题? sort_index() - 和 sort_values() 就此而言非常烦人 - 没有关键参数!
最佳答案
尝试使用 sorted
内置函数对列进行排序,并将输出传递给数据框以进行索引。以下应作为工作示例:
import pandas as pd
records = [(2, 33, 23, 45), (3, 4, 2, 4), (4, 5, 7, 19), (4, 6, 71, 2)]
df = pd.DataFrame.from_records(records, columns = ('0:00', '23:40', '12:30', '11:23'))
df
# 0:00 23:40 12:30 11:23
# 0 2 33 23 45
# 1 3 4 2 4
# 2 4 5 7 19
# 3 4 6 71 2
df[sorted(df,key=pd.to_datetime)]
# 0:00 11:23 12:30 23:40
# 0 2 45 23 33
# 1 3 4 2 4
# 2 4 19 7 5
# 3 4 2 71 6
希望对你有帮助
关于python - Python 中带键的 sort_values(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43787091/
我想知道这两段代码之间的区别是什么? New_Series = pd.Series(df['avg']).sort(axis=0, ascending=False,
我不知道我的代码有什么问题 import pandas as pd import numpy as np woe = [1.1147295474833758,0.364043491078754,-0.
我已经看到很多关于基于 pandas 列名称排序的建议,但我正在尝试基于列索引进行排序。 我已经包含了一些代码来演示我正在尝试做什么。 import pandas as pd df = pd.Data
我知道 sort_index() 可以让我按索引对 df 进行排序,但我想知道 sort_values() 是否也可以按索引排序(无需重置索引)? 最佳答案 不,如果不先将索引转换为列(可能使用 re
我正在处理一个数据框,我想在其中显示某些值的百分比。我将它们计算为十进制值,然后应用格式字符串将它们转换为百分比。当数据框转换为百分比时,它无法正确地对百分比进行排序。 d = {'name': ['
我想通过 pandas 对 pyhon 中的嵌套字典进行排序。 import pandas as pd # Data structure (nested list): # { # category
for i in str_list: #str_list is a set contain some strings df.loc[i].sort_values(by = 'XXX') *
我正在尝试使用 pandas sort_values() 函数对 datafarame 进行排序,但返回的结果以一种奇怪的方式排序,如所附图像 所示 最佳答案 问题是列Citation是数字的字符串表
我是 pandas 的新手,在编程环境中处理表格数据。我按特定列对数据框进行了排序,但 Pandas 吐出的答案并不完全正确。 这是我使用的代码: league_dataframe.sort_valu
我正在尝试打印 target_playlist 中的值。问题是我想按 percentuali 列对 target_playlist 中的值进行排序,我使用了 target_playlist.sort_
我有一个数据框,我想在其中一个列(即日期)上排序但是我有一个在索引上运行的循环( while i
此问题已解决。“Env”(“Env”)中有一个看不见的空间。下面的代码是正确的。 问题: 我不明白有关 sort_values 的错误消息。下面是打印的数据框。 print(df)
我有一个数据框,其中列名是时间(0:00、0:10、0:20、...、23:50)。现在,它们按字符串顺序排序(所以 0:00 是第一个,9:50 是最后一个)但我想按时间对它们进行排序(所以 0:0
问题: 如何根据下面在 top_5 变量中捕获的 sort_values 标准向 plot 添加水平线。: 数据: 这是 data 的一部分在 CSV 中: 这是当前情节。 axnum = today
dataset = pd.read_csv("dataset.csv").fillna(" ")[:100] dataset['Id']=0 dataset['i']=0 dataset['j']=0
大家好,我试图到处寻找这个问题,但我找不到解决方案。如果你能帮助我,我会很高兴。 所以,基本上我有这个数据集: df = pd.DataFrame({"col1": ['xxx', 'xxx', 'x
我有一个df: Date Symbol Person 0 2019 Q3 A Bob 1 2019 Q3 A Jon 2 2019 Q3
我有以下数据子集,我需要按升序对 Education 列进行排序;从 0 到 17。 我尝试了以下代码但没有成功。 suicide_data.sort_index(axis=0, kind='merg
Python Pandas 提供了两种对 DataFrame 进行排序的方法: sort_values (或已弃用 sort ) sort_index 这两种方法有什么区别? 最佳答案 由于问题已更新
在工作中,我们最近升级到 pandas 0.20,我有一个使用 sort 排序的数字列表(但是不再支持此功能,我在尝试 sort_values 时收到上述消息)。 numbers = [1, 3, 4
我是一名优秀的程序员,十分优秀!