python数据分析,第一步:筛选数据,整理表格

本文介绍了如何使用Python的pandas库对TMDB电影数据集进行清洗,包括处理缺失值、数据格式转换和提取关键信息,最终保存为Excel文件以备后续分析。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
"""
Created on Tue Nov  1 20:36:11 2022

@author: 10648
"""

import json
import pandas as pd
import numpy as np
from datetime import datetime
import warnings

warnings.filterwarnings('ignore')    # 不显示告警信息
# 读取电影数据  指定引擎  不然会报错误
df = pd.read_csv('tmdb_5000_movies.csv', engine='python')
df.head()
# 由于数据集中包含的信息过多,其中部分数据并不是我们研究的重点,所以从中抽取分析要用的数据:
# 关键词  电影名称  电影类型  首次上映日期  电影时长  预算  收入
df1 = df[['keywords', 'original_title', 'genres', 'release_date', 'runtime', 'budget', 'revenue', 'vote_count', 'vote_average']]
df1.info()

#缺失值查看
df1[df1.isnull().values==True]
#处理缺失值
#方法一 直接丢弃有缺失值的行
df2=df1.dropna(axis=0)
df2.info()
# 方法二  查阅资料 填充缺失数据
# IMDb官网  https://www.imdb.com/title/tt3856124/

df1.loc[2656, 'runtime'] = 98.0
df1.loc[4140, 'runtime'] = 81.0
df1.loc[4553, 'release_date'] = '2014-06-01'
df1.info()

# genres列数据处理
df1['genres'].head()
# 将str转换为json
df1['genres'] = df1['genres'].apply(json.loads)

def decode(col):
    genre = []
    for item in col:
        genre.append(item['name'])
    return '|'.join(genre)

df1['genres'] = df1['genres'].apply(decode)
df1.head()
# 提取release_date的年份,只提取年份
df1['release_date'] = pd.to_datetime(df1['release_date']).dt.year
# 改列的名称
col = {'release_date': 'year'}
df1.rename(columns=col, inplace=True)
df1['year'].apply(int).head()    # 转为整数
# 保存为已清洗数据
df1.to_excel('已清洗数据.xlsx')

tmdb_5000_movies.csv下载地址:【免费】Python数据分析实战tmdb-5000-movies_TMDB5000数据集介绍资源-CSDN文库

代码解释:
 

这段代码是使用Python中的pandas库对一个电影数据集进行数据处理和清洗的过程。首先,从一个名为'tmdb_5000_movies.csv'的文件中读取了电影数据,并选择了关键词、电影名称、电影类型、首次上映日期、电影时长、预算、收入等信息。然后对缺失值进行了处理,采用了直接丢弃有缺失值的行和填充缺失数据的方法。接着对电影类型进行了处理,将字符串转换为JSON格式,并提取了首次上映日期的年份。最后将清洗后的数据保存为一个名为'已清洗数据.xlsx'的Excel文件。

代码中还包括了一些数据处理的细节,如处理缺失值和将字符串转换为JSON格式等。这段代码的目的是清洗和整理电影数据,以便进行后续的分析和可视化。

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tin9898

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值