In[1] :key_name = 'name' # 选取作为键的列名
In[2] :df_4 = df.set_index(key_name).apply(lambda row: (row[0],row[1]),axis=1).to_dict()
Out :{'a': (10, 90),
'b': (20, 80),
'c': (30, 70),
'd': (40, 60),
'e': (50, 50)}
In[1] :df_3 = df.apply(lambda row: (row[:]),axis=1).to_dict() # 将df转换为字典
Out :{0: ('a', 10, 90),
1: ('b', 20, 80),
2: ('c', 30, 70),
3: ('d', 40, 60),
4: ('e', 50, 50)}
In[1] :key_name = 'name' # 选取作为键的列名
In[2] :df1 = df.to_dict(orient='list') # orient='list'表示将每一列转换为列表
Out :{'name': ['a', 'b', 'c', 'd', 'e'],
'age': [10, 20, 30, 40, 50],
'score': [90, 80, 70, 60, 50]}
In[1] :key_name = 'name' # 选取作为键的列名
In[2] :df_1 = df.to_dict(orient='records')
Out :[{'name': 'a', 'age': 10, 'score': 90},
{'name': 'b', 'age': 20, 'score': 80},
{'name': 'c', 'age': 30, 'score': 70},
{'name': 'd', 'age': 40, 'score': 60},
{'name': 'e', 'age': 50, 'score': 50}]
In[1] :tuples = list(df.itertuples(index=False, name=None)) # index=True表示保留索引,name=None表示不保留列名
Out :[('a', 10, 90),
('b', 20, 80),
('c', 30, 70),
('d', 40, 60),
('e', 50, 50)]
In[1] :df_1 = df.values
Out :[['a' 10 90]
['b' 20 80]
['c' 30 70]
['d' 40 60]
['e' 50 50]]
本篇帖子仅根据作者在数据分析中常见到的几种转换类型进行了介绍,若在数据分析中遇到其他形式的转换,可以联系作者一起进行交流!