代码是用python 3.4编写的,但我想在python 3.7上运行它。我正在使用Jupyter笔记本运行。我可以在Jupyter中创建一个环境并在旧版本的pandas中运行代码(例如0.16)吗?
--> 210 tmpvals[n] = find_non_overlapping_sample(
211 df.sort_index(key, ascending=phase).head(600).index, prd = no_overlap_prd)
212
~\Anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, name)
3079 if name in self._info_axis:
3080 return self[name]
-> 3081 return object.__getattribute__(self, name)
3082
3083 def __setattr__(self, name, value):
AttributeError: 'DataFrame' object has no attribute 'sort' `
即使我将sort
更改为sort_index
或sort_values
。错误仍然存在。
这是函数(原始代码)。
def gen_keydates(df, key, seasonalData=False, no_overlap_prd = 365, chatty=True):
tmpvals={}
if seasonalData: # For DJF data use modified function
for n, phase in enumerate([False, True]): # Maximum, Minimum Phase
tmpvals[n] = findNonOverlappingSeasonSample(
df.sort(key, ascending=phase).head(600).index, key=key)
else:
for n, phase in enumerate([False, True]): # Maximum, Minimum Phase
tmpvals[n] = find_non_overlapping_sample(
df.sort(key, ascending=phase).head(600).index, prd = no_overlap_prd)
compPhase ={}
compPhase['max'] = tmpvals[0][0:11].order()
compPhase['min'] = tmpvals[1][0:11].order()
if chatty:
print("Average for max/min sample of {0}: {1:2.3f} and {2:2.3f}".format(
key,np.mean(df[key][compPhase['max']]),
np.mean(df[key][compPhase['min']])))
return compPhase`
答案 0 :(得分:2)
排序方法已被弃用 你应该选择df.sort_values()或df.sort_index()方法。