繁体   English   中英

小写并替换 Pandas 中数据帧标头中不需要的子字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM