パンダでデータフレームの 1 つの列を別の列に対してプロットしようとしていますが、予期しない結果が得られました。プロットする前にソートされる x 値まで追跡しました。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.figure();
data = np.array([[3.2, 3.5, 2.4, 3.5, 3.4, 4.3, 5.4, 3.9, 5.7, 7.4],
[-0.5, 0.2, 0.1, -0.7, 0.0, -1.0, -1.3, -0.3, -0.3, -0.6]])
df = pd.DataFrame(data.T,columns=['A', 'B'])
df.plot(x='A', y='B')
#try again in matplotlib
plt.plot(np.asarray(df['A']),np.asarray(df['B']),'r-')
plt.plot(data[0,:],data[1,:],'go')
data[0,:].sort()
plt.plot(data[0,:],data[1,:],'co')
{画像を削除すると投稿できません}
青いプロット (df.plot から) には、プロットする前に列 A が並べ替えられています。赤いプロットは、matplotlib からプロットされた元のデータです。
明らかに、matplotlib を使用して必要なプロットを取得できますが、データフレーム プロットは予想外です。