[英]Lowercase and replace unwanted substrings from dataframe header in Pandas
我想lowercase
并从数据帧的标题中删除第一个s
: 'id', 'sTitle', 'sSource', 'sDate', 'sAbstract', 'sStart_Time', 'sSite', 'sUrl'
。
预期的标题将是这样的: 'id', 'title', 'source', 'date', 'abstract', 'start_time', 'site', 'url'
我试过: df.columns = df.columns.str.lower().lstrip('s')
,它产生一个错误: AttributeError: 'Index' object has no attribute 'lstrip'
。
我怎样才能正确地做到这一点? 谢谢你。
您需要再次编写.str
:
df.columns = df.columns.str.lstrip('s').str.lower()
编辑:
在与 OP 讨论后,这是最终的工作代码:
cols = ['sAbstract', 'sStart_Time']
df.columns = pd.Series(df.columns.tolist()).replace({k: k.lstrip('s').lower() for k in cols})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.