Python-Pandas之DataFrame转字典

将DataFrame的某列数据取出来,然后转化成字典:

import pandas as pd

data = {
    'name': ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 'qianqi', 'zhangsan'],
    'age': [18, 19, 20, 21, 22, 23],
    'city': ['beijing', 'shanghai', 'guangzhou', 'nanjing', 'changsha', 'wuhan'],
    'sex': ['man', 'women', 'man', 'women', 'man', 'women']
}

df = pd.DataFrame(data)
print(df)

dff = df[['name', 'age']] # 取出其中两列
dff = dff.drop_duplicates(subset=['name'], keep='first') #如果有重复项,需要去除,确定是保存那一列,否则会用后面的替换掉前面的
dff.set_index(keys='name', inplace=True) # 设置作为key的列为index
dff = dff.T #取它的转置

dic = dff.to_dict(orient='records')[0] #转化成字典,这可能会有多行,导出是一个字典类型的数组,我们取第一项就可以了
print(dic)

d = pd.Series(df.age.values,index=df.name).to_dict()
print(d)

 

你可能感兴趣的:(Python,Pandas)