python - 比较不同大小的 Dataframe,如果满足条件则创建一个新的 Dataframe

标签 python pandas dataframe size

我需要帮助来解决以下问题:

我有两(2)个不同大小的数据帧。我需要比较这些值,如果满足条件,则替换 Dataframe 1 中的值。

如果数据帧 1 中 Material 和字符的值 =“Y”,我需要从数据帧 2 中获取“必需或可选”值。如果是必需的,则我将“Y”替换为“Y_REQD”否则,如果它是可选的,则将“Y”替换为“Y_OPT”。

我一直在使用 For 循环,但现在代码变得太复杂,这暗示我这可能不是最好的方法。

提前致谢。

enter image description here

最佳答案

这更像是一个pivot问题,然后我们可以重新索引数据帧然后求和

df1=df1.replace({'Y':'Y_'})+df2.pivot(*df2.columns).reindex_like(df1).fillna('')

关于python - 比较不同大小的 Dataframe,如果满足条件则创建一个新的 Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58653687/

相关文章:

python - 是否可以阻止用户单击我的 tkinter 窗口以外的其他应用程序

Python-替换数据框中的字符串

python - 如何向 df.boxplot 添加 y 轴标签

python - 是否可以将 32 位 ctypes 与 64 位 Python 解释器一起使用?

python - 使用 python-docx 在 docx 文件中查找所有样式为 'Normal' 且字体大小不是 11 的文本

python - 为什么只有异步函数才能在异步代码中产生?

python - 在python中查找日期列表之间的差异

python - 如何根据 dfB 中的列/行值,使用另一个数据帧 (dfB) 中的值填充 pandas 数据帧 (dfA) 列 "A"?

python - pandas describe函数的统计意义是什么,如何使用?

r - 动态连接多个表