1.情境描述: 提示信息,一条记录只属于一类 ,按类型统计信息
2.实现步骤:文件中,提示信息有3种类型,20万条记录。
读文件->查看数据信息->统计分类->构造全0数组->遍历3次赋值,不是20万次->求和
3.知识点:
1.查看数据信息 df.info() 默认读前5条 主要看缺失值
2.建全0数组
np.zeros((df.shape[0], len(cate_list)))
3.对应位置赋值为1,循环3次而不是遍历 20万次
zeros_df[cate][df["title"].str.contains(cate)] = 1
流程代码
def main():
#1.读取 #路径是对的 ./默认路径下
filePath="./data/info.csv"
df=pd.read_csv(filePath)
#2.查看数据信息 看是否有缺失值
print(df.head()) #数据条数为20万,数据种类为3种
print(df.info())
#3.统计分类
temp_list =df["title"].str.split(":").tolist()
cate_list =list(set([i[0] for i in temp_list])) #得3种分类
#4.构造全0数组
zeros_df = pd.DataFrame(np.zeros((df.shape[0], len(cate_list))), columns=cate_list)
#5.赋值 遍历3次(实例中是3种类型) 不是遍历20万条
for cate in cate_list:
zeros_df[cate][df["title"].str.contains(cate)] = 1
print(zeros_df) # [203909 rows x 3 columns]
#6.求和
sum_ret=zeros_df.sum(axis=0)