繁体   English   中英

Pandas:从列标题中提取前 4 位数字

[英]Pandas: extract first 4 digits from column headers

我有一个带有 +1000 列的熊猫数据框。 我只想从所有标题中提取前 4 位数字。

原始数据示例:

Q001-XYZ Q002-XYZ
第一的
第二

我想得到:

Q001 Q002
第一的
第二

我试过 df.head() = df.head().str[:4] 但我收到错误 SyntaxError: can't assignment to function call

有什么建议吗?

列表理解是最快的选择:

df.columns = [col[:4] for col in df.columns]

时机

尝试通过columns属性或通过rename()方法:

df.columns=df.columns.str.split('-').str[0]
#OR
df=df.rename(columns=lambda x:x.split('-')[0])

要么

df.columns=df.columns.str[:4]
#OR
df=df.rename(columns=lambda x:x[:4])

尝试使用regex

df.columns = df.columns.str.extract('([\w]+)-', expand=False)

你可以试试:

df.columns.str[:4].to_list()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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