Python Pandas,删除列中增加的行

标签 python pandas matplotlib rows

这是我的问题的简短示例版本:

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


x = np.arange(1, 101, 1)
y1 = np.linspace(0, 1000, 50)
y2 = np.linspace(500, 2000, 50)
y = np.concatenate((y1, y2))
data = np.asmatrix([x, y]).T
df = pd.DataFrame(data)

fig, ax = plt.subplots(figsize=(12,8))
ax.plot(df.iloc[:, 0], df.iloc[:, 1], 'r')
plt.gca().invert_yaxis()
plt.show()

请运行代码并查看它生成的绘图。 enter image description here

我想从后面读取数据帧(从 x=100 到 x=0)并确保我的 y 轴始终减小(从 y=2000 到 y=0)。我想删除从数据帧末尾读取时 y 值不减少的行。

如何编辑我的数据框来实现这一点?

最佳答案

我对这个解决方案不太满意,但总比没有好。我发现很难在不变得过于模糊的情况下描述这个问题。如果您发现有改进的余地,请发表评论,因为我知道还有改进的余地。

newindex = []
max = -999

for row in df.index:
    if df.loc[row, 1] > max:
        max = df.loc[row, 1]
        newindex.append(row)

df = df.loc[newindex,]

关于Python Pandas,删除列中增加的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49931125/

相关文章:

python - Django 表单不会显示

python - 如何构建多索引转换矩阵?

python - 如何根据行过滤

python - 在 plt 之外设置 matplotlib 颜色图的限制

python 在 matplotlib.image.AxesImage 对象上绘制峰值

python - 如何在 vscode 中获取 jupyter notebook 主题

Python/PyQt 重新打开 QWebView 显示空白页面

python - 使用 Python requests 库或其他方式查找重定向的 URL

python - 基于python中的 Pandas 索引在新列中添加值

python - 中心 Seaborn 颜色条标签