简体   繁体   English

如何基于另一个数据框设置列值

[英]How to set column values based on another dataframe

I'm working on a project that has two inputs of data, and I need to merge those data into only one DataFrame, based on the index of the second DataFrame. 我正在一个有两个数据输入的项目中,我需要根据第二个DataFrame的索引将这些数据合并到一个DataFrame中。

My first DataFrame looks like this: 我的第一个DataFrame如下所示:

    user        artist        song      timestamp
0  user_1       artist_1     song_1   2019-02-21 23:45  
1  user_1       artist_2     song_2   2019-02-21 23:49  
2  user_2       artist_2     song_3   2019-02-21 23:52

And my second DataFrame looks like this: 我的第二个DataFrame看起来像这样:

                        artist       song
id                                                                        
9A9xGpfS2eZn3T4Z       artist_1     song_1
ke5EfOpcvTl0dtyR       artist_2     song_2
9YjNEwfS4kX7aHvg       artist_2     song_3

The result I'm looking for and that I'm not being able to obtain is the following: 我正在寻找但无法获得的结果如下:

    user        song_id                timestamp
0  user_1       9A9xGpfS2eZn3T4Z    2019-02-21 23:45  
1  user_1       ke5EfOpcvTl0dtyR    2019-02-21 23:49  
2  user_2       9YjNEwfS4kX7aHvg    2019-02-21 23:52

Is there a way to obtain this result, using pandas builtin functions? 使用pandas内置函数有没有办法获得此结果?

Thanks! 谢谢!

Let df1 be your first DataFrame and df2 your second. 假设df1是您的第一个DataFrame,而df2您的第二个DataFrame。 Then you can use: 然后,您可以使用:

new_df = df1.merge(df2, on=['artist', 'song'], how='left')

Then you can rename and delete as you like. 然后,您可以根据需要重命名和删除。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何基于另一列的NaN值设置熊猫数据框中的值? - How set values in pandas dataframe based on NaN values of another column? 如何在 Pandas DataFrame 列中设置值等于基于另一个 DataFrame 的值 - How to set values in a Pandas DataFrame Column equal to values based on another DataFrame Pandas 基于另一个 dataframe 将多个列和行值设置为 nan - Pandas Set multiple column and row values to nan based on another dataframe 如何根据 Pandas 中的另一个 DataFrame 更改 DataFrame 特定列中的值 - How to change values in certain column of DataFrame based on another DataFrame in Pandas 如何使用另一个数据框添加数据框并基于列更新公共值 - how to add a dataframe with another dataframe and updated common values based on a column 如何根据另一列中的值更新数据框的现有列? - How to update an existing column of a dataframe based on values in another column? 根据另一个数据框中的值将列添加到数据框中 - Adding column to dataframe based on values in another dataframe 基于另一个 dataframe 计算 dataframe 中列的值 - Computing values of a column in dataframe based on another dataframe 根据另一个 dataframe 更改 dataframe 列中的值 - Change values in dataframe column based on another dataframe 根据另一个数据框的列值创建一个数据框 - Create a dataframe based on column values of another dataframe
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM