数字按列排序 Python
numeric sort by column Python
我正在尝试按“DayOfYear”列进行数字排序,但它不允许我这样做。我使用 pandas 将其转换为数据框,但我没有成功进行数字排序。
results7 = ([['1', '660.206159375', '2200.969', '1588.2815', '831.8674',
'521.3459', '329.77015', '205.89374', '102.9523'],
['10', '932.475360938', '2381.846', '2098.8083', '1289.0055',
'780.2308', '522.78565', '340.15073', '298.4486'],
['11', '914.067898437', '2698.957', '1922.7277', '1259.1625',
'731.6858', '505.171', '267.1976', '203.4595'],
['12', '786.08815', '2580.748', '1823.5057', '908.63865',
'652.7224', '455.6254', '229.1738', '146.3479'],
['2', '928.879345312', '3075.417', '2560.8875', '1166.789',
'734.7388', '512.9898', '241.98641', '167.2151'],
['', nan, nan, nan, nan, nan, nan, nan, nan]], dtype=object
])
names50 = ['DayOfYear','AvgFlow','Max','n95th','n75th','n50th','n25th','n5th','Min']
results9 = pd.DataFrame(results8,columns=names50)
results10 = results9.astype(str).convert_objects(convert_numeric=True)
results11 = results10[~np.isnan(results10).any(axis = 1)]
results12 = np.sort(results11, order = 'DayOfYear')
我收到了
的错误消息
ValueError: Cannot specify order when the array has no fields.
我转换成pd.DataFrame的时候没有指定字段吗?此外,当我尝试执行 .dtype 时,我收到一条错误消息:
AttributeError: 'DataFrame' object has no attribute 'dtype'
我做错了什么?
1) 使用DataFrames
dtypes
属性。它 returns 每个 Series
的 dtype
属性。
2) 只需使用 pandas' 排序...
results11.sort('DayOfYear')
我正在尝试按“DayOfYear”列进行数字排序,但它不允许我这样做。我使用 pandas 将其转换为数据框,但我没有成功进行数字排序。
results7 = ([['1', '660.206159375', '2200.969', '1588.2815', '831.8674',
'521.3459', '329.77015', '205.89374', '102.9523'],
['10', '932.475360938', '2381.846', '2098.8083', '1289.0055',
'780.2308', '522.78565', '340.15073', '298.4486'],
['11', '914.067898437', '2698.957', '1922.7277', '1259.1625',
'731.6858', '505.171', '267.1976', '203.4595'],
['12', '786.08815', '2580.748', '1823.5057', '908.63865',
'652.7224', '455.6254', '229.1738', '146.3479'],
['2', '928.879345312', '3075.417', '2560.8875', '1166.789',
'734.7388', '512.9898', '241.98641', '167.2151'],
['', nan, nan, nan, nan, nan, nan, nan, nan]], dtype=object
])
names50 = ['DayOfYear','AvgFlow','Max','n95th','n75th','n50th','n25th','n5th','Min']
results9 = pd.DataFrame(results8,columns=names50)
results10 = results9.astype(str).convert_objects(convert_numeric=True)
results11 = results10[~np.isnan(results10).any(axis = 1)]
results12 = np.sort(results11, order = 'DayOfYear')
我收到了
的错误消息ValueError: Cannot specify order when the array has no fields.
我转换成pd.DataFrame的时候没有指定字段吗?此外,当我尝试执行 .dtype 时,我收到一条错误消息:
AttributeError: 'DataFrame' object has no attribute 'dtype'
我做错了什么?
1) 使用DataFrames
dtypes
属性。它 returns 每个 Series
的 dtype
属性。
2) 只需使用 pandas' 排序...
results11.sort('DayOfYear')