请叫我攻城狮hh 2020-12-10 19:02 采纳率: 0%
浏览 25

小白求助! Python 行列的处理

各位大神好
我在做项目练习时遇到这个代码
来自 https://en.wikipedia.org/wiki/All-time_Olympic_Games_medal_table


import pandas as pddf = pd.read_csv('olympics.csv', index_col=0, skiprows=1)
for col in df.columns:   
   if col[:2]=='01':        
         df.rename(columns={col:'Gold'+col[4:]}, inplace=True)   
   if col[:2]=='02':        
         df.rename(columns={col:'Silver'+col[4:]}, inplace=True)   
   if col[:2]=='03':        
         df.rename(columns={col:'Bronze'+col[4:]}, inplace=True)   
    if col[:1]=='№':      
 
          df.rename(columns={col:'#'+col[1:]}, inplace=True)
     names_ids = df.index.str.split('\s\(') # split the index by '('df.index = names_ids.str[0] # the [0] element is the country name (new index) df['ID'] = names_ids.str[1].str[:3] # the [1] element is the abbreviation or ID (take first 3 characters from that)df = df.drop('Totals')df.head()

我自己看了很久 可是就是不知道加粗部分的操作是什么含义
求大神帮忙指点迷津啊
万分感激

  • 写回答

1条回答 默认 最新

  • 关注
    for col in df.columns:   
       if col[:2]=='01':        
             df.rename(columns={col:'Gold'+col[4:]}, inplace=True) 

      col:某一个列名

    col[:2] 列名取前2个字符, 如果这列的前2个字符 是 01的话

    将这列的列名修改 改为 : Gold+原来的列名从第4个位置到最后

    评论

报告相同问题?

悬赏问题

  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决