问题描述
我有大量数据:大约 10 种资产类别,每年大约一百年的利率.我一直在使用字典结构,以便我可以像这样访问当年的费率:
rate = asset_class_1.get(year)
但是定义它很麻烦,我更愿意将 asset_class 作为更广泛的数据结构的一部分来访问——所以是一个 2D 字典.有没有更好的办法?
使用 Pandas DataFrame.
将pandas导入为pd# 示例数据asset_class_1 = {y: r 代表 y, r in zip(range(1901, 2000), range(1, 100))}asset_class_2 = {y: r+100 for y, r in zip(range(1901, 2000), range(1, 100))}asset_classes = pd.DataFrame({'class_1': asset_class_1, 'class_2': asset_class_2})
>>>资产类别class_1 class_21901 1 1011902 2 1021903 3 1031904 4 1041905 5 105…………1995 95 1951996 96 1961997 97 1971998 98 1981999 99 199[99 行 x 2 列]>>>资产类别['class_1'][1959]59
您还可以选择整列或整行:
>>>资产类别['class_1']1901 11902 21903 31904 41905 5..1995 951996 961997 971998 981999 99名称:class_1,长度:99,数据类型:int64>>>asset_classes.loc[[1959]]class_1 class_21959 59 159查看入门教程,快速了解数据结构.
I have a large set of data: for about 10 asset classes, the interest rate for each year for around a hundred years. I had been using a dictionary structure so that I could access the rate for the year like this:
rate = asset_class_1.get(year)
But defining it is cumbersome, and I would prefer to access the asset_class as part of a broader data structure -- so a 2D dictionary. Is there any better way?
Use a Pandas DataFrame.
import pandas as pd
# Example data
asset_class_1 = {y: r for y, r in zip(range(1901, 2000), range(1, 100))}
asset_class_2 = {y: r+100 for y, r in zip(range(1901, 2000), range(1, 100))}
asset_classes = pd.DataFrame({'class_1': asset_class_1, 'class_2': asset_class_2})
>>> asset_classes
class_1 class_2
1901 1 101
1902 2 102
1903 3 103
1904 4 104
1905 5 105
... ... ...
1995 95 195
1996 96 196
1997 97 197
1998 98 198
1999 99 199
[99 rows x 2 columns]
>>> asset_classes['class_1'][1959]
59
You can also select whole columns or whole rows:
>>> asset_classes['class_1']
1901 1
1902 2
1903 3
1904 4
1905 5
..
1995 95
1996 96
1997 97
1998 98
1999 99
Name: class_1, Length: 99, dtype: int64
>>> asset_classes.loc[[1959]]
class_1 class_2
1959 59 159
Check out the Getting started tutorials for a quick intro to the data structures.
这篇关于Python3 定义和使用多个二维数据的最佳方式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!