【python】split(), set(), groupby(), reset_index(), set_index() 的用法

本文介绍了如何利用Pandas库中的split()函数分割字符串,set()创建无重复集合,groupby()进行数据分组,以及reset_index()重置索引。通过实例演示了这些函数在数据处理中的应用和关键用法,适合数据分析师和初学者学习。


学习总结

在这里插入图片描述

import pandas as pd # 数据处理,数据分析

data = pd.DataFrame(data) # 将list变为DataFrame格式,方便使用pandas进行分析

data.shape # 显示数据大小
data.info() # 查看数据行列信息,可以大概了解是否有缺失值
data.head(N) # 显示数据的前N行,默认前五行
del data["update_date"] # 删除 update_date 特征(删除某一列)

split()

  • 用途

split() 通过指定分隔符对字符串进行切片,如果参数num有指定值,则分隔num+1个字符串

  • 语法

str.split(str="", num=string.count(str)).

  • str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num – 分割次数。默认为 -1, 即分隔所有。
    返回分隔后的字符串列表
    在这里插入图片描述

set()

  • 用途

set() 创建一个无序不重复的元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等

  • 语法

class set([iterable])

  • iterable – 可迭代对象对象;
    返回新的集合对象。

在这里插入图片描述
也可以删除重复的字符串
在这里插入图片描述

groupby()

reset_index()

参考自 https://blog.youkuaiyun.com/a1272899331/article/details/104936079

set_index()将某一列作为 index

在这里插入图片描述

 df.reset_index() #默认drop=False  获得新的index,原来的index变成数据列保留下来

在这里插入图片描述

 df.reset_index(drop=True) #如果你不想保留原来的index,drop=True

在这里插入图片描述
参考资料:

import pandas as pd import math as mt import numpy as np from sklearn.model_selection import train_test_split from Recommenders import SVDRecommender triplet_dataset_sub_song_merged = triplet_dataset_sub_song_mergedpd triplet_dataset_sub_song_merged_sum_df = triplet_dataset_sub_song_merged[['user','listen_count']].groupby('user').sum().reset_index() triplet_dataset_sub_song_merged_sum_df.rename(columns={'listen_count':'total_listen_count'},inplace=True) triplet_dataset_sub_song_merged = pd.merge(triplet_dataset_sub_song_merged,triplet_dataset_sub_song_merged_sum_df) triplet_dataset_sub_song_merged['fractional_play_count'] = triplet_dataset_sub_song_merged['listen_count']/triplet_dataset_sub_song_merged small_set = triplet_dataset_sub_song_merged user_codes = small_set.user.drop_duplicates().reset_index() song_codes = small_set.song.drop_duplicates().reset_index() user_codes.rename(columns={'index':'user_index'}, inplace=True) song_codes.rename(columns={'index':'song_index'}, inplace=True) song_codes['so_index_value'] = list(song_codes.index) user_codes['us_index_value'] = list(user_codes.index) small_set = pd.merge(small_set,song_codes,how='left') small_set = pd.merge(small_set,user_codes,how='left') mat_candidate = small_set[['us_index_value','so_index_value','fractional_play_count']] data_array = mat_candidate.fractional_play_count.values row_array = mat_candidate.us_index_value.values col_array = mat_candidate.so_index_value.values data_sparse = coo_matrix((data_array, (row_array, col_array)),dtype=float) K=50 urm = data_sparse MAX_PID = urm.shape[1] MAX_UID = urm.shape[0] recommender = SVDRecommender(K) U, S, Vt = recommender.fit(urm) Compute recommendations for test users uTest = [1,6,7,8,23] uTest_recommended_items = recommender.recommend(uTest, urm, 10) Output recommended songs in a dataframe recommendations = pd.DataFrame(columns=['user','song', 'score','rank']) for user in uTest: rank = 1 for song_index in uTest_recommended_items[user, 0:10]: song = small_set.loc[small_set['so_index_value'] == song_index].iloc[0] # Get song details recommendations = recommendations.append({'user': user, 'song': song['title'], 'score': song['fractional_play_count'], 'rank': rank}, ignore_index=True) rank += 1 display(recommendations)这段代码报错了,为什么?给出修改后的 代码
06-08
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值