【问题标题】:Populate predefined string with dataframe values in Python?在 Python 中使用数据框值填充预定义的字符串?
【发布时间】:2021-02-10 18:11:09
【问题描述】:

我有一个应该如下所示的字符串: “2021 年 2 月 8 日,海盗队在超级碗比赛中战胜酋长队。MVP 是汤姆·布雷迪。”

或者,使用占位符,像这样: “在 [日期],[team1] [赢/输] 对阵 [team2]。MVP 是 [mvp]”

数据框看起来像

date          team1         team2     won    mvp
2021-02-08    Buccaneers    Chiefs    won    Tom Brady

想象一下填充了所有超级碗的数据框。 现在,我想要最后一列“printString”,它将前面的列插入到适当的位置。 我可以这样做

df["printString"] = f'On {df["date"]}, {df["team1"]} {df["won"]} against {df["team2"]} in the Super Bowl. MVP was {df["mvp"]}'

有没有更优雅的解决方案?可能我可以写 {team1} 而不是 df["team1"}?

【问题讨论】:

  • 在我看来,您的解决方案似乎足够优雅,而且它已经使用了f-strings,尝试使用team1 而不是df['team1'] 会使代码复杂化。

标签: python pandas dataframe


【解决方案1】:

在此处使用DataFrame.apply

func = lambda x: f'On {x["date"]}, {x["team1"]} {x["won"]} against {x["team2"]} in the Super Bowl. MVP was {x["mvp"]}'
df["printString"] = df.apply(func, axis=1)  

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 2017-09-17
    • 2017-07-09
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 2018-02-04
    相关资源
    最近更新 更多