【发布时间】:2018-12-17 18:15:28
【问题描述】:
在 python 中工作仍然相对较新,并且遇到了一些问题。
我目前有一个小程序,它获取 csv 文件,合并它们,将它们放入数据框中,然后转换为 excel。
我要做的是根据数据框列的值的前缀匹配'Team'和'Abrev'的值,然后用'Abrev'列内容替换Team列。
Team Games Points Abrev
Arsenal 38 87 ARS
Liverpool 38 80 LIV
Manchester 38 82 MAN
Newcastle 38 73 NEW
我希望它最终看起来像下面这样:
Team Games Points
ARS 38 87
LIV 38 80
MAN 38 82
NEW 38 73
所以我在想的是我需要一个 for 循环来遍历数据框中的行数,然后我需要一种方法来通过 Abrev 列中的前缀比较内容。如果前三个字母匹配,则替换,但我不知道该怎么做,因为我试图不对其进行硬编码。
有人可以帮助或指出正确的方向吗?
【问题讨论】:
-
如果数据中已经有 Abbreviation 列,您不能直接删除 team 列并重命名 Abbr 列吗?如果不是这种情况,您可以使用“df['Team'].str.slice' 从团队列创建缩写列
-
这是在没有与团队名称匹配的缩写的情况下。我正在尝试比较内容,几乎就像部分字符串匹配。我只是想将缩写值与字符串“Arsenal”中的前三个字母进行比较,我只是不确定如何。 @GauravTaneja
标签: python csv dataframe match multiple-columns