繁体   English   中英

遍历行的数据框并根据另一列更改一列的值

[英]Iterating through the rows a dataframe and changing the value of one column based on another

我似乎在这里找不到答案。 我有一个具有80万行的数据框。 我想遍历每一行,将一列中的字符串值传递给Google Translate API,然后将翻译添加到该行的另一列中。 当我这样做时,它只为我提供整个数据帧的第一行的值( df$worddf$heading ),并在之后的每一行中复制它。 我想要的是在第1行中获取$word的值,我想使用API​​对其进行转换, $fr_translation在第1行$fr_translation其转换为$fr_translation的值。我想针对每一行进行此操作。 我敢肯定这很容易,但是我对R还是很陌生。这是适用于翻译但不适用于每一行的代码:

library(translate)
set.key("my_key")

for(i in seq_len(nrow(df))){
  df$fr_translation <- translate(df$word, 'en', 'fr')
  df$fr_heading <- translate(df$heading, 'en', 'fr')
}

您没有在每次迭代中引用第i行。 将部分固定在循环中,如下所示:

  df$fr_translation[i] <- translate(df$word[i], 'en', 'fr')
  df$fr_heading[i] <- translate(df$heading[i], 'en', 'fr')

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM