是否有任何方法可以仅为下一列提供下一个未命名列和前一列。
输入:
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()
最佳答案
示例
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 替换 'Unnamed',然后用 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
关于Python Pandas : change only next unnamed column with the previous column name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57704627/