首页 > 解决方案 > 使用 mangle_dupe_cols 和 pandas 来简化 read_csv

问题描述

这里的目标是读取一个 .csv 文件,从中获取我需要的信息,然后输出一个包含我需要的特定信息的新 .csv 文件。mangle_dupe_cols 参数不断出错,显示“尚不支持”,我知道这将帮助我简化事情。如您所见,我想丢弃数据集中的许多列,然后重命名所有剩下的列。

import pandas as pd

columns_to_skip = ['W','L','D','-','!','+','#%','Ind','E%','/','-.1','-.2','-.3','-.4','-.5','-.6','+.1','+.2','+.3','+.4','+.5','+.6','!.1','!.2','!.3','!.4','!.5','!.6','Ind.1','Ind.2','Ind.3','Ind.4','Ind.5','Ind.6','E%.1','E%.2','E%.3','E%.4','E%.5','E%.6','#%.1','#%.2','#%.3','#%.4','#%.5','#%.6']

df = pd.read_csv('P65 Stats.csv', header=3, usecols = lambda x: x not in columns_to_skip)

df =  df.rename(columns = {'Unnamed: 0':'Name'})
df =  df.rename(columns = {'Tot':'Total Serves'})
df =  df.rename(columns = {'Tot.1':'Total Passes'})
df =  df.rename(columns = {'Tot.2':'Total Attacks'})
df =  df.rename(columns = {'Tot.3':'Total Blocks'})
df =  df.rename(columns = {'Tot.4':'Total Digs'})
df =  df.rename(columns = {'Tot.5':'Total FB Passes'})
df =  df.rename(columns = {'Tot.6':'Total Sets'})
df =  df.rename(columns = {'=':'Errors'})
df =  df.rename(columns = {'=.1':'Errors'})
df =  df.rename(columns = {'=.2':'Errors'})
df =  df.rename(columns = {'=.3':'Errors'})
df =  df.rename(columns = {'=.4':'Errors'})
df =  df.rename(columns = {'=.5':'Errors'})
df =  df.rename(columns = {'=.6':'Errors'})
df =  df.rename(columns = {'#':'Aces'})
df =  df.rename(columns = {'#.1':'Kills'})
df =  df.rename(columns = {'#.2':'Stuff Blocks'})
df =  df.rename(columns = {'#.3':'Perfect Digs'})

print(df)

任何帮助都会很棒!

标签: pythonpython-3.xpandasdataframecsv

解决方案


推荐阅读