Python dict集合基本操作

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}}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值