python - 使用 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)
任何帮助都会很棒!
解决方案
推荐阅读
- python - 无法使用 Django 表单保存数据
- ruby-on-rails - 用于graphql单元测试的未定义方法“并行化”
- reactjs - 当我调用 Sign 函数时发生此错误
- firebase - 如何测量 Firestore 响应时间?
- linux - 为什么我的 envsubst 命令只是插入空白字符串?
- swift - SwiftUI 修复了从视图底部到屏幕顶部的约束
- javascript - Knex 错误:“错误 [KnexTimeoutError]:Knex:获取连接超时。池可能已满。您是否缺少 .transacting(trx) 调用?”
- php - 如何将数据放入 Symfony 5 中的会话数组中?
- python - 在 GCP 中的 Jupyter Notebook 上不断出现“内核重启”
- r - 在ggplot2中使用黑白配色方案进行绘图?