我只是在练习\学习熊猫,我正在使用Pokemon数据集 来自卡格尔。你知道吗
以下两行代码工作正常,并产生完全相同的结果:
df.loc[df['Type 1'] == 'Fire', 'Type 1'] = 'Flamer'
df['Type 1'] = np.where(df['Type 1'] == 'Fire', 'Flamer', df['Type 1'])
两者都将“Type 1”列中的值“Fire”替换为“Flamer”。你知道吗
但是,我正在尝试在多个列上复制相同的行为。 在下面的两行代码中,第一行工作,第二行失败。 还提供了精确错误:
df.loc[df['Total'] > 500, ['Generation', 'Legendary']] = 'TEST VALUE'
df[['Generation', 'Legendary']] = np.where(df['Total'] > 500, 'TEST VALUE', df[['Generation', 'Legendary']])
Traceback (most recent call last):
File "C:/Users/Mark/PycharmProjects/main/main.py", line 152, in <module>
df[['Generation', 'Legendary']] = np.where(df['Total'] > 500, 'TEST VALUE', df[['Generation', 'Legendary']])
ValueError: operands could not be broadcast together with shapes (800,) () (800,2)
我不明白那个错误想告诉我什么。你知道吗
我不能复制:测向位置[df['Total']>;500,['Generation','Legendary']]='TEST VALUE'使用np.哪里()? 你知道吗
正如@Divakar所指出的,我的语法是错误的。df['Total']>;500必须是:df[['Total']>;500在我的np.哪里()代码行。你知道吗
成功复制者:
然后我更进一步,给“世代”和“传奇”栏目赋予了它们自己独特的价值。你知道吗
以下两行代码也会生成相同的正确结果:
相关问题 更多 >
编程相关推荐