Python - 数据框列在 '.' 之后用大写字母重命名

标签 python pandas

我有一些列遵循“abc.def”模式,我正尝试使用函数将其更改为“abcDef”。我可以使用 df.rename(columns={'abc.def': 'abcDef'}, inplace = True) 来做到这一点,但我正在寻找一种可以应用于不同数据帧的更通用的方法。我是为简单的字符串做的,但我不知道如何将它应用于列名。我试图将列名添加到列表中并将函数附加到列表中,但这也不起作用。

我的 df 是:

import pandas as pd
import re
            
            
data = {'end.date': ['01/10/2020 15:23', '01/10/2020 16:31', '01/10/2020 16:20', '01/10/2020 11:00'],
                  'start.date': ['01/10/2020 13:38', '01/10/2020 14:49', '01/10/2020 14:30','01/10/2020 14:30']
                  }
            
df = pd.DataFrame(data, columns = ['end.Date','start.date'])

# below is my go at the text.             
text = 'abs.d'
splitFilter = re.compile('([.!?]\s*)')
splitColumnName = splitFilter.split(text)
print(splitColumnName)
        
final = ''.join([i.capitalize() for i in splitColumnName])
final = final.replace('.', '')
print(final)

最佳答案

我想你想要这样的东西?

import pandas as pd
import re
            
            
data = {'end.date': ['01/10/2020 15:23', '01/10/2020 16:31', '01/10/2020 16:20', '01/10/2020 11:00'],
                  'start.date': ['01/10/2020 13:38', '01/10/2020 14:49', '01/10/2020 14:30','01/10/2020 14:30']
                  }
            
df = pd.DataFrame(data, columns = ['end.Date','start.date'])

# below is my go at the text.   
def formatColumn(column) :
  splitFilter = re.compile('([.!?]\s*)')
  splitColumnName = splitFilter.split(column)
          
  final = ''.join([i.capitalize() for i in splitColumnName])
  final = final.replace('.', '')
  return final[0].lower() + final[1:] 

df.rename(columns=dict(zip(df.columns, [formatColumn(c) for c in df.columns])))

关于Python - 数据框列在 '.' 之后用大写字母重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64206676/

相关文章:

python - django 新手 - 一周中的每一天改变模板表样式

python - 在 Python Pyramid 中转到单个页面的所有地址(到单个 View 的全部路由)

python - 删除所有满足正则表达式条件的行

python - 将列标题转换为值

python - 将标准差添加到 pandas groupby 对象的平均值

python - Pandas 打印选项

python - Python 中带有额外线条的 Matplotlib 累积频率图

python - 更改数据透视表的索引?

python - 导入每个值包含列标签的数据

python - Tornado SSL 证书