按行合并CSV文件

2024-09-28 13:18:20 发布

您现在位置:Python中文网/ 问答频道 /正文

tvshows.csv = tvID | tvName

ratings.csv = userID | tvID | userRating

我有以下两个CSV文件和这些列。我希望合并这些列,以便tvshows.csv中的tvName列显示在ratings.csv中,对应于正确的tvID

我面临的主要问题是,ratings.csv文件中有几个相同的tvID数据,因为许多用户可能会对相同的电视节目进行评分。(例如,5个人将为《辛普森一家》评分,创建5个《辛普森一家》TVID)。我是否有办法从tvshows.csv中获取TVDName并将其与ratings.csv中的正确TVD合并,记住ratings.csv中可能有几个相同的TVD

我希望能够使用Pandas完成Python中的任务,感谢提供的任何帮助

tvshows.csv的数据示例:

tvID | tvName
862  |  The Simpsons
8844 |  Futurama
15602| Paw Patrol

ratings.csv的数据示例:

userID | tvID  | rating
1      |  862  |  7
2      |  8844 |  6
3      |  862  |  8

Tags: 文件csv数据用户示例评分useridratings
2条回答

假设您可以读取CSV文件,您可以从以下位置使用merge方法:

ratings.merge(tvshows, on = 'tvID')

以下是一个随机玩具示例:

import pandas as pd

#generating test data
tvshows = pd.DataFrame({'tvName':['Ab','Bc','Cd','De','Ef'],'tvID':['A','B','C','D','E']})
ratings = pd.DataFrame({'userID':[1,2,3,4,5],'userRating':[5,5,3,5,5],'tvID':['A','B','C','D','E']})

#merging the dataframes
out = ratings.merge(tvshows, on = 'tvID')
print(out)

输出:

   userID  userRating tvID tvName
0       1           5    A     Ab
1       2           5    B     Bc
2       3           3    C     Cd
3       4           5    D     De
4       5           5    E     Ef

您可以尝试使用合并:

tvshows = pd.read_csv('tvshows.csv')
ratings = pd.read_csv('ratings.csv')
tvshows_ratings = tvshows.merge(ratings)

相关问题 更多 >

    热门问题