如果我有200多个列,每个列都有长名称,并且我想删除名称的第一部分,该如何使用熊猫呢?
答案 0 :(得分:0)
您可以遍历它们并省略前n
个字符:
n = 3
li = []
for col in df.columns:
col = col[n:]
li.append(col)
df.columns = li
或者执行任何其他形式的字符串操作,我不确定“删除第一部分”是什么意思。
答案 1 :(得分:0)
对str
使用索引:
N = 5
df.columns = df.columns.str[N:]
答案 2 :(得分:0)
我只会使用rename
:
n=5
df.rename(columns = lambda x: x[n:])
在这里,lambda可以是任何东西,您也可以剥离更多的空格,实际上,您可以定义一个可调用对象并在此处使用,甚至不用lambda
答案 3 :(得分:0)
如果您只想删除一定数量的字符:
df.rename(columns=lambda col: col[n:])
如果要基于前缀有选择地删除:
# cols = 'a_A', 'a_B', 'b_A'
df.rename(columns=lambda col: col.split('a_')[1] if 'a_' in col else col)
您的规则有多复杂取决于您。