对于使用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中的前缀来比较内容的方法。如果前三个字母匹配,则替换,但是我不知道该怎么做,因为我尝试不对其进行硬编码。
有人可以帮我或指出正确的方向吗?
答案 0 :(得分:0)
pandas
是您要寻找的
将熊猫作为pd导入
df = pd.read_csv('input.csv')
df['team'] = df['Abrev']
df.drop('Abrev', axis=1, inplace=True)
df.to_excel('output.xls')
答案 1 :(得分:0)
您可以使用apply
操作来获得所需的输出。
df = pd.read_csv('input.csv')
df['Team'] = df.apply(lambda row: row['Team'] if row['Team'][:3].upper()!= row['Abrev']
else row['Abrev'],axis=1)
df.drop('Abrev', axis=1, inplace=True)
这给您:
Team Games Points
ARS 38 87
LIV 38 80
MAN 38 82
NEW 38 73