python - 将 DataFrame 转换为字典

标签 python pandas

我在网上查了很久,还是没有结果。

import pandas as pd
import numpy as np
import math

unames = ['user_id', 'gender', 'age', 'occupation', 'zip'] 
users = pd.read_table('ml-1m/users.dat', sep='::', 
header=None,names=unames,engine='python')
rnames = ['user_id', 'movie_id', 'rating', 'timestamp']
ratings = pd.read_table('ml-1m/ratings.dat', sep='::', 
header=None,names=rnames,engine='python')
mnames = ['movie_id', 'title', 'genres']
movies = pd.read_table('ml-1m/movies.dat', sep='::', 
header=None,names=mnames,engine='python')
data=pd.merge(pd.merge(ratings,users),movies)

然后我得到一个像这样的表: a DataFrame of the data

然后,我这样处理数据

data1=pd.pivot_table(data[(data.user_id==1)],index=['title'],columns='user_id',values='rating')

输出: a DataFrame of the data1

然后我尝试将 data1 转换为字典

Dict=data1.to_dict()

字典是这样的:

{1: {'Airplane! (1980)': 4,
 'Aladdin (1992)': 4,
 'Antz (1998)': 4,
 'Apollo 13 (1995)': 5,
 'Awakenings (1990)': 5,
 'Back to the Future (1985)': 5,
 'Bambi (1942)': 4,
 'Beauty and the Beast (1991)': 5,
 'Ben-Hur (1959)': 5,
 'Big (1988)': 4,
 "Bug's Life, A (1998)": 5,
 'Christmas Story, A (1983)': 5,
 'Cinderella (1950)': 5,
 'Close Shave, A (1995)': 3,
 'Dead Poets Society (1989)': 4,
 'Driving Miss Daisy (1989)': 4,
 'Dumbo (1941)': 5,}}

但是,我想将 data1 转换为这样的字典:

{'Airplane! (1980)': 4,
 'Aladdin (1992)': 4,
 'Antz (1998)': 4,
 'Apollo 13 (1995)': 5,
 'Awakenings (1990)': 5,
 'Back to the Future (1985)': 5,
 'Bambi (1942)': 4,
 'Beauty and the Beast (1991)': 5,
 'Ben-Hur (1959)': 5,
 'Big (1988)': 4,
 "Bug's Life, A (1998)": 5,
 'Christmas Story, A (1983)': 5,
 'Cinderella (1950)': 5,
 'Close Shave, A (1995)': 3,
 'Dead Poets Society (1989)': 4,
 'Driving Miss Daisy (1989)': 4,
 'Dumbo (1941)': 5,}

不同之处在于第一个版本有一个 1 作为键,那么我如何像第二个版本一样进行转换?

最佳答案

Series的列1的名称选择并转换为dict,最好还是更改变量名称Dict > 就像评论中提到的@jpp:

d = data1[1].to_dict()

关于python - 将 DataFrame 转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52985594/

相关文章:

python Pandas : exclude rows below a certain frequency count

python - 将 csv 文件中的日期字段读取到数据框中

python - 我怎样才能删除变量的这一部分?

python - Pandas ValueError 返回的形状与数据框形状不匹配?

python - 使用OpenCV Python进行对象检测

python - 请求库 Python 中的代理设置

python - 如何在 Python 中用某种新格式替换 HTML 元素

python - 用于识别产品的自定义 NER

python - 将整个数据帧的值转换为唯一整数以进行渔民测试

python - 如何在图表中绘制 pandas groupby 值