方法はここにある、pandas dfからbox plotを正しく作成するには?
def visualize_box_plot(df):
df = df[df.outlier != 1]
df = pd.pivot_table(df,
index=df.index,
columns = df['country'],
values='value',
fill_value = 0)
df.CHINA = df.CHINA.round(2)
df.USA = df.USA.round(2)
# this is the prints
# provided earlier
print df
df_usa = df[(df['USA'] != 0)]
df_china = df[(df['CHINA'] != 0)]
usa = df_usa.as_matrix()[:, -1]
china = df_china.as_matrix()[:,0]
print "USA:", len(usa), " ", "CHINA: ", len(china)
# unequal length
# USA: 1673 CHINA: 4384
x = [china, usa]
plt.boxplot(x)
plt.show()
Zero
値は、旋回の期間中NaN
から来て、私は希望私はパンダdf
を持っており、ピボットした後、それは以下のように印刷し、
country CHINA USA
0 119.02 0.0
1 121.20 0.0
3 112.49 0.0
4 113.94 0.0
5 114.67 0.0
6 111.77 0.0
7 117.57 0.0
......................
......................
6648 0.00 420.0
6649 0.00 420.0
6650 0.00 420.0
6651 0.00 420.0
6652 0.00 420.0
6653 0.00 420.0
6654 0.00 500.0
6655 0.00 500.0
6656 0.00 390.0
6657 0.00 450.0
6658 0.00 420.0
6659 0.00 420.0
6660 0.00 450.0
ボックスプロットを作成中にそれらを省略してください。だから、私はコードを使用し、
df_usa = df[(df['USA'] != 0)]
df_china = df[(df['CHINA'] != 0)]
これらのコードは、実際には別々のdf
を作成し、NUmpy
行列に変換し、最後に、私はmatplotlib
と一緒にそれらすべてを可視化します。ポイントを考慮すると、Numpy
行列の長さは同じではないので、boxplot
関数をdf
と直接呼び出すことはできません。ここで
は、可視化はよくないと私は へのより良い方法があるかもしれない感情がゲット
、1及び2のニーズはそれぞれ中国と米国と交換する私の可視化です仕事が終わった。なにか提案を ?いくつかのサンプルコードは多くの助けになります。小数点以下2桁に丸めてdf
を使用することができます。主な問題は、コードをエレガントにし、視覚化を改善することです。
あなたの意見は何ですか?なぜあなたは良いと思うかを誰かが推測したいのですか? – piRSquared