【发布时间】:2019-07-24 11:51:43
【问题描述】:
如何使用 FOR LOOP 将 df_students 中的颜色与 df_colors 中的颜色进行匹配,然后在 df_students 中为每个学生填写对应的fruit和对应的fruit_id?
import pandas as pd
df_colors = pd.DataFrame({'fruit_id':[101, 102, 103, 104, 105, 106, 107, 108, 109],
'fruit':['apple','banana','dragonfruit','kiwi','plum','lime', 'blackberry', 'blueberry', 'guava'],
'color':['red', 'yellow', 'magenta', 'brown', 'purple', 'green', 'black', 'blue', 'pink']})
df_students = pd.DataFrame({'student':['Jamie', 'Tao', 'Ingrid', 'Will', 'Boris','Xavier','Nancy', 'Judith', 'Lamar', 'Francis', 'Shawna', 'Carlos', 'Morgan'],
'color': ['black', 'red', 'magenta', 'yellow','black', 'magenta', 'brown', 'purple', 'magenta', 'green', 'blue', 'pink', 'pink']})
df_students['fruit'] = ''
df_students['fruit_id'] = ''
for eachstudent in df_students['color']:
for acolor in df_colors['color']:
if eachstudent == acolor:
df_students['fruit'] = df_colors['fruit']
df_students['fruit_id'] = df_colors['fruit_id']
df_students
这个输出不正确!
【问题讨论】:
-
您的数据没有意义?如果
df_colors中的苹果是红色,红色和香蕉是一样的,黑色和苹果如何搭配? -
@Erfan 上面的代码输出错误。你可能是对的,我可以指出这一点。感谢您的建议!
-
@Guy_Fuqua 我已经更新了两种解决方案,一种用于 for 循环(用于合并),另一种显示在问题上。
标签: python-3.x pandas for-loop