当前位置: 首页 > 知识库问答 >
问题:

有条件地用不同df的值填充熊猫df的列

谭鹏云
2023-03-14

我有两个不同形状的df。一个包含单词及其频率,另一个包含单词及其引理。

第一个df总是将一个单词映射到一个频率,第二个df将许多单词映射到一个引理(多次)。例如:

DF1:

  word  frequency
    de   33504559
   que   32700217
    no   28263302
     a   21978600
    la   21249418

和df2:

     lemma       word
   zurullo   zurullos
  zurupeto  zurupetos
    zutano     zutana
    zutano    zutanas
    zutano    zutanos

我想将引理信息添加到df1,通过搜索df1的每个单词,将其与df2中的单词进行比较,并从df2中提取引理信息以将其添加回df1

对于df1中的值是否始终相同,有一些有用的答案,但由于我想对每一行中包含不同单词的行执行此操作,因此我不确定如何继续。(我检查了“合并和连接文档”部分,但重新显示时比以前更加混乱…)

仅在python中,我会使用循环,例如:

new_df = dict()
# assuming all dfs are dicts
for w, f in df1.items():
    if w in df2.keys():
        new_df[w] = (df2[w], f)

我们很乐意通过熊猫数据帧操作了解更多信息。

共有1个答案

傅穆冉
2023-03-14

试试这个:

df1.merge(df2, how='left', on='word')
 类似资料:
  • 问题内容: 这是我的df的简化示例: 我想按行对列中的数据求和: 现在,我的问题来了!我想创建4个新列,并从每一行的总和中计算百分比值。因此,第一个新列中的第一个值应该是(0.095389 / 4.258550),第二个新列中的第一个值(0.556978 / 4.258550)…依此类推…请帮助 问题答案: 您可以像这样手动轻松地为每个列执行此操作: 如果您要一步一步对所有列进行此操作,则可以使用

  • 我有一个带有几列的。其中一列包含使用货币的符号,例如欧元或美元符号。另一列包含预算值。例如,在一行中,它可能意味着5000欧元的预算,而在下一行中,它可能意味着2000美元的预算。 在熊猫我想添加一个额外的列到我的DataFrame,正常化的欧元预算。所以基本上,对于每一行,如果货币列中的符号是欧元符号,新列中的值应该是预算列中的值*1,新列中的值应该是预算列的值*0.78125如果货币栏中的符号

  • 输入df。mean() 输出: 输入 (正确)输出: “a”中的类型值col=int 其他col具有str值 为什么会发生这种情况

  • 我有这个df称为职位: 我有一份清单: 我正在尝试在股票行情器上创建一个新的DF排序。如果代码相同,那么这些值将进入df,另一个值将进入另一个。 我刚刚尝试过如何做到这一点,我不确定我是否走上了正确的道路。。 这怎么可能呢?在新的DF中,我想带上所有的专栏。 谢谢:)

  • 这与关于这个主题的几个问题相似。

  • 问题内容: 我正在分析一个时间序列,并基于某些条件,我可以挑选出事件 开始 或 结束 的行。此时,我的系列看起来像这样(为简洁起见,我省略了一些重复的值): 设置 这是我想要实现的( 理想情况下没有循环) 这是我尝试过的 通过对数据质量的一些乐观假设,我可以获得如下 事件编号 : 然后,我可以将其恢复到原始数据框,并使用 问题 如您所见,事件之间的时间(01:20到02:20)与事件#1相关联。