KeyError: 在pandas中创建新列时

2024-06-13 07:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个数据集,当我试图在找到差异后创建一个新列时,我得到了键错误:“filtered”

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

d = {'col1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'col2': [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]}
df = pd.DataFrame(data=d)
fig, ax = plt.subplots(2, figsize=(8,8))

df['col2'].diff().plot(ax=ax[0])

cutoff = 3
df['filtered'] = df.loc[df['col2'].diff().abs() > cutoff]
df.plot(ax=ax[1])

{{cd1>在这种情况下,{cd1}用来创建新的^}。谢谢你的帮助。在


Tags: 数据importdfplotas错误diffplt
1条回答
网友
1楼 · 发布于 2024-06-13 07:30:33

您需要将倒数第二行替换为:

df['filtered'] = df.loc[df['col2'].diff().abs() > cutoff, 'col2']

假设您希望获得“col2”的过滤版本。正如@RafaelC所提到的,current.loc[]操作返回行过滤器应用的所有列(在本例中是2列),因此会出现错误。在

相关问题 更多 >