大家好,我和熊猫一起读到了一张excel表格。这是输出:
vlan ajout
0 Vlan Controleur Wifi\nVlan bleu NaN
1 Vlan TAM NaN
2 Vlam EM NaN
3 Vlan Controleur Wifi\nVlan bleu NaN当在"vlan“列中找到单词"Controleur"时,我想将"Controleur"值更改为"vlan 10”。我喜欢的未来输出是:
vlan ajout
0 Vlan Controleur Wifi\nVlan bleu vlan 10
1 Vlan TAM
2 Vlam EM
3 Vlan Controleur Wifi\nVlan bleu vlan 10目前,我尝试了许多可能性,并且我有这样的代码,它更接近于我所能找到的现实:
df = pd.read_excel (r'.\test.xlsx')
df['ajout'] = df['ajout'].fillna(0)
df.loc[df['vlan'] == "Controleur", df['ajout']] = 'vlan 10'
print(df)遗憾的是,它不起作用了,而且输出非常糟糕
vlan ajout 0.0 0.0 0.0 0.0
0 Vlan Controleur Wifi\nVlan bleu 0.0 NaN NaN NaN NaN
1 Vlan TAM 0.0 NaN NaN NaN NaN
2 Vlam EM 0.0 NaN NaN NaN NaN
3 Vlan Controleur Wifi\nVlan bleu 0.0 NaN NaN NaN NaN我不知道为什么要添加这么多列,为什么我的'ajout'列保持为0
如果有人有什么主意或线索,我会接受的
谢谢大家
发布于 2022-05-12 08:49:17
您需要在系列值中找到Controleur
df.loc[df['vlan'].str.contains("Controleur"), 'ajout'] = 'vlan 10'您也可以尝试df.mask和np.where
df['ajout'] = df['ajout'].mask(df['vlan'].str.contains("Controleur"), 'vlan 10')
# or
df['ajout'] = np.where(df['vlan'].str.contains("Controleur"), 'vlan 10', df['ajout'])https://stackoverflow.com/questions/72212528
复制相似问题