Python 如何将列中的所有值替换为该列行中的第一个值?

Python 如何将列中的所有值替换为该列行中的第一个值?,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有这个数据帧: df = pd.DataFrame({'A': ['green', 'red', 'blue'], 'B': ['orange', 'nan', 'nan'] 'C': ['yellow', 'cyan', 'purple']}) 我希望所有列B都等于列B(橙色)中的第一行值,而不必键入“橙色”。我该怎么做呢 在上下文中,我创建了许多不同的数据帧,但在其中一列中,我只希望该列的第一行中有一个值,因

假设我有这个数据帧:

df = pd.DataFrame({'A': ['green', 'red', 'blue'],
                   'B': ['orange', 'nan', 'nan']
                   'C': ['yellow', 'cyan', 'purple']})
我希望所有列B都等于列B(橙色)中的第一行值,而不必键入“橙色”。我该怎么做呢

在上下文中,我创建了许多不同的数据帧,但在其中一列中,我只希望该列的第一行中有一个值,因此每次按如下方式键入它是不切实际的:

df[['B']] = "orange" 

谢谢大家!

这里有一种方法

df['B']=[df['B'].iloc[0]*len(df)


它获取B列的第一行,而不必键入它

df['B']=[df['B'].iloc[0]*len(df)


它使用B列的第一行,而不必键入它

我认为比上述答案更简洁的方法可能是:


df['B']=df['B'][0]

我认为比上述答案更简洁的方法可能是:


df['B']=df['B'][0]

啊……非常好,同意,非常干净谢谢你们所有的贡献者!当你不在教程中学习时,感觉会有所不同!啊…非常好,同意,非常干净谢谢你们所有的贡献者!当你不在教程中学习时,感觉会有所不同!