Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python `set_index()`是否对索引进行排序?_Python_Sorting_Dask - Fatal编程技术网

Python `set_index()`是否对索引进行排序?

Python `set_index()`是否对索引进行排序?,python,sorting,dask,Python,Sorting,Dask,将此dask数据帧连接到此dask数据帧并使用set_索引对索引进行排序不会产生排序索引。这正常吗 从dask导入数据帧作为dd 作为pd进口熊猫 a=列表('aabbccddeffgghhi') df=pd.数据帧(dict(a=a), 索引=pd.日期范围(开始时间=2010/01/01',结束时间=2010/02/01',期间=len(a))。重置索引() ddf=dd.from_熊猫(df,npartitions=5) a2=列表('aabbccddeef') df2=pd.数据帧(di

将此dask数据帧连接到此dask数据帧并使用set_索引对索引进行排序不会产生排序索引。这正常吗

从dask导入数据帧作为dd
作为pd进口熊猫
a=列表('aabbccddeffgghhi')
df=pd.数据帧(dict(a=a),
索引=pd.日期范围(开始时间=2010/01/01',结束时间=2010/02/01',期间=len(a))。重置索引()
ddf=dd.from_熊猫(df,npartitions=5)
a2=列表('aabbccddeef')
df2=pd.数据帧(dict(a=a2),
索引=pd.日期范围(起始日期为2020/01/01',结束日期为2020/01/06',期间为len(a2))。重置索引()
ddf2=dd.concat([ddf,df2])。设置索引(“索引”)
ddf2.compute()
a
指数
2010-01-01 00:00:00A
2010-01-02 22:30:00A
2010-01-04 21:00:00B
2010-01-06 19:30:00B
2010-01-08 18:00:00摄氏度
2010-01-10 16:30:00摄氏度
2010-01-12 15:00:00D
2010-01-14 13:30:00D
2010-01-16 12:00:00东
2010-01-18 10:30:00E
2010-01-20 09:00:00F
2010-01-22 07:30:00F
2010-01-24 06:00:00克
2010-01-2604:30:00g
2010-01-28 03:00:00小时
2010-01-30 01:30:00小时
2010-02-01 00:00:00 i
2020-01-01 00:00:00A
2020-01-01 12:00:00A
2020-01-02 00:00:00B
2020-01-02 12:00:00B
2020-01-03 00:00:00摄氏度
2020-01-03 12:00:00摄氏度
2020-01-04 00:00:00D
2020-01-04 12:00:00D
2020-01-05 00:00:00东
2020-01-05 12:00:00东
2020-01-06 00:00:00F

请问,我是不是做错事了?

是的,这是完全正常的,因为大多数pandas操作不采用排序索引,但有些操作采用排序索引

在dask数据帧中,必须应用 ddf2=dd.concat([ddf,df2])。设置索引('index',sorted=True)


顺便说一下,您的数据已经按索引正确排序了。关于年份(2010年、2020年)

这里我看不出问题所在。索引已排序。也许你认为这两个数据帧都是同一年应用的,但是没有(2010年到2020年)嗨,非常感谢,你完全正确,我在这里感觉很傻啊。我以为这两个都是2020年。嗯,对不起,我敢问一个新问题作为评论。如果我想对已经是索引的索引进行排序,是否可以在Dask中进行排序?我曾经遇到过很多类似的SO问题,看来唯一的办法是先重置索引,然后再重新设置以进行排序。你会意识到一种不那么尴尬的方式吗?是的,这是可能的。尝试删除数据帧中的“重置索引”和Dask数据帧中的“设置索引”。应该行的。好的,谢谢。我本以为会有一个“直接”排序,而不是重置/设置方法。谢谢,祝你们晚上愉快,贝斯特!