Pandas 如何删除部分列名?

Pandas 如何删除部分列名?,pandas,dataframe,Pandas,Dataframe,我有一个DataFrame,其中有几个列,如: 'clientes_enderecos.CEP', 'tabela_clientes.RENDA','tabela_produtos.cod_ramo', 'tabela_qar.chave', etc 我想更改列的名称,并删除点附近的所有文本 我只知道pandas.rename({'A':'A','B':'B')的方法 但我用现在的名称来命名它们: df_tabela_clientes.columns = ["tabela_clie

我有一个DataFrame,其中有几个列,如:

'clientes_enderecos.CEP', 'tabela_clientes.RENDA','tabela_produtos.cod_ramo',  'tabela_qar.chave', etc
我想更改列的名称,并删除点附近的所有文本

我只知道pandas.rename({'A':'A','B':'B')的方法

但我用现在的名称来命名它们:

df_tabela_clientes.columns = ["tabela_clientes." + str(col) for col in df_tabela_clientes.columns]

我如何才能逆转此过程?

尝试使用lambda和字符串操作重命名:

df = pd.DataFrame(columns=['clientes_enderecos.CEP', 'tabela_clientes.RENDA','tabela_produtos.cod_ramo',  'tabela_qar.chave'])
print(df)

#Empty DataFrame
#Columns: [clientes_enderecos.CEP, tabela_clientes.RENDA, tabela_produtos.cod_ramo, #tabela_qar.chave]
#Index: []

dfc = df.rename(columns=lambda x: x.split('.')[-1])
print(dfc)

#Empty DataFrame
#Columns: [CEP, RENDA, cod_ramo, chave]
#Index: []

要去掉圆点右边的内容,可以拆分列名,然后选择圆点的哪一边

将熊猫作为pd导入
df=pd.DataFrame(列=['clientes_enderecos.CEP'、'tabela_clientes.RENDA'、'tabela_produtos.cod_ramo'、'tabela_qar.chave'])
df.columns=[name.split('.')[0]表示df.columns中的名称]#0:在点之前| 1:在点之后

删除点附近的所有文本。不清楚。给定示例列,发布预期输出。尝试使用正则表达式剥离匹配的模式*