我正在处理一门课程的作业,我的数据框遇到了一个问题。我按照他们的要求做了修改,但是当我去显示我的新数据框时,它只显示标题。
以下是任务的要求:
1.使用Pandas加载数据文件
1.检查数据中是否存在空值。
1.删除任何列中包含空值的记录
- Size列的大小以KB和MB为单位。要进行分析,您需要将它们转换为数值
- 数据集的M和K以及“因设备而异”显示在这些列中,因此我将其删除
1.价格字段为字符串,并带有$符号。请删除$符号并转换为数值。
1.平均评分应介于1和5之间,因为只允许使用这些值。删除值超出此范围的行。
1.对于类型列中的免费应用程序,删除这些行。
这是我的代码:
import pandas as pd
import numpy as np
ds = pd.read_csv('googleplaystore.csv')
headers = pd.DataFrame(['App', 'Category', 'Rating', 'Reviews', 'Size', 'Installs', 'Type', 'Price', 'Content Rating', 'Genres', 'Last Updated', 'Current Ver', 'Android Ver'])
ds['Size'] = ds['Size'].replace("Varies with Device", np.nan, inplace = True)
ds =ds.dropna()
ds['Size'] = ds['Size'].str.replace("M", "", regex = True)
ds['Size'] = ds['Size'].str.replace("k", "", regex = True)
ds['Size'] = ds['Size'].astype(float)
ds['Installs'] = ds['Installs'].str.replace("+", '', regex = True)
ds['Installs'] = ds['Installs'].astype(int)
ds['Reviews'] = ds['Reviews'].astype(float)
ds['Price'] = ds['Price'].str.replace("$", "", regex = True)
ds['Price'] = ds['Price'].astype(float)
indexrating = ds[(ds['Rating'] >= 1) & (ds['Rating'] <= 5)].index
ds.drop(indexrating, inplace = True)
ds['Type']= ds['Type'].replace("Free", np.nan, inplace = True)
ds =ds.dropna()
display(ds)
1条答案
按热度按时间pokxtpni1#
删除以“M”或“k”结尾或包含“随设备而变化”的所有内容,删除所有行。
尝试使用此版本:
输出: