是否有任何方法仅将下一列赋予前一列的下一个未命名列。
输入:
ca~ ch~
Campaign Type Code Channel Type Code Channel Type Definition
输出:
ca~ ca~ ch~ ch~
Campaign Type Code Channel Type Code Channel Type Definition
我在下面尝试过,但它填补了所有空白,尽管我只想在下一列而不是另一个空白处填充
。x.columns = x.columns.to_series().mask(lambda y: y.str.startswith('Unnamed')).ffill()
答案 0 :(得分:2)
样品
ca~ Unnamed ch~ Unnamed.1 Unnamed.2
0 Campaign Type Code Channel Type Code Channel Type Definition
一种方法
df.columns = [df.columns[i-1] if 'Unnamed' in df.columns[i] else df.columns[i] for i in range(len(df.columns))]
ca~ ca~ ch~ ch~ Unnamed.1
0 Campaign Type Code Channel Type Code Channel Type Definition
替代
首先用NaN替换“未命名”,然后填写limit = 1
df.columns = list(pd.DataFrame(df.columns).replace('Unnamed\.?\d?',np.nan,regex=True).ffill(limit=1)[0])
ca~ ca~ ch~ ch~ NaN
0 Campaign Type Code Channel Type Code Channel Type Definition