1. dict创建
字典是另一种可变容器模型,且可存储任意类型对象。有多种创建方式。
方式1:创建空字典
>>> dic = {}
>>> type(dic)
<type 'dict'>
方式2:赋值创建
>>> dic = {'a’:1, 'b':2,'c':3}
>>>dic
{'a': 1, 'b': 2, 'c': 3}
方式3:关键字创建
>>> dic = dict(a = 1, b = 2, c = 3)
>>>dic
{'a': 1, 'b': 2, 'c': 3}
方式4:利用zip创建
>>> dic = dict(zip('abc',[1,2,3]))
>>>dic
{'a': 1, 'b': 2, 'c': 3}
方式5:利用字典表达式
>>> dic = {i:2*i for i in [1,2,3]}
>>>dic
{1: 2, 2: 4, 3: 6}
方式6:利用dict.fromkeys()
>>> dic = dict.fromkeys(range(3), [1,2,3])
>>>dic
{0: [1, 2, 3], 1: [1, 2, 3], 2: [1, 2, 3]}
制定所有keys对应的value
2. dict添加元素
方法1:直接赋值添加
>>> dic = {'a':1, 'b':2,'c':3}
>>>dic['d'] = 4
>>>dic
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
方法2:利用update添加
>>> dic = {'a':1, 'b':2,'c':3}
>>>x = {'d':4}
>>>dic.update(x)
>>>dic
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
3. dict删除元素
方法1:利用del函数
>>> dic = {'a': 1, 'b': 2, 'c': 3, 'd': 1}
>>> del[dic['d']]
>>>dic
{'a': 1, 'b': 2, 'c': 3}
方法2:pop函数
>>> dic = {'a': 1, 'b': 2, 'c': 3, 'd': 1}
>>> dic.pop('d')
>>>dic
{'a': 1, 'b': 2, 'c': 3}
方法3:clear函数
>>> dic = {'a': 1, 'b': 2, 'c': 3, 'd': 1}
>>> dic.clear()
>>>dic
{}
4. dict 和 DataFrame
4.1 dict 转为DataFrame
情况1: dict 的 keys 为 DataFrame 的列名, values为DataFrame 每一列的值
>>> data_dict = {'a':[100,300,500],'b':[200,400,600],'c':[300,500,700]}
>>> data_df = pd.DataFrame.from_dict(data_dict)
>>> data_df
>>> Out[4]:
a b c
0 100 200 300
1 300 400 500
2 500 600 700
情况2: dict 的 keys 为 DataFrame 的索引, values为DataFrame 每一行的值
#examp1e1
>>>data_dict = {'a':[100,300,500],'b':[200,400,600],'c':[300,500,700]}
>#可以通过index制定index,通过columns将列重命名
>>>data_df = pd.DataFrame.from_dict(data_dict,orient='index',columns=['A', 'B', 'C'])
>>>data_df
>>>Out[7]:
0 1 2
a 100 300 500
b 200 400 600
c 300 500 700
#example2
>>>data_dict = {'a':100,'b':200,'c':300}
>>>data_df = pd.DataFrame.from_dict(data_dict,orient='index',columns = ['col'])
>>>data_df
>>>Out[11]:
col
a 100
b 200
c 300
4.2 DataFrame转dict
情况1: dict 的 keys 为 DataFrame 的列名, values为DataFrame 每一列{index: dataframe的取值}
>>> df = pd.DataFrame({'col1': [1, 2],'col2': [0.5, 0.75]},index=['a', 'b'])
>>> df
col1 col2
a 1 0.50
b 2 0.75
>>> df.to_dict()
{'col1': {'a': 1, 'b': 2}, 'col2': {'a': 0.5, 'b': 0.75}}
情况2: dict 的 keys 为 DataFrame 的index values为DataFrame 每一列{col: dataframe的取值}
>>> df = pd.DataFrame({'col1': [1, 2],'col2': [0.5, 0.75]},index=['a', 'b'])
>>> df
col1 col2
a 1 0.50
b 2 0.75
>>> df.to_dict('index')
{'a': {'col1': 1.0, 'col2': 0.5}, 'b': {'col1': 2.0, 'col2': 0.75}}