私は列の持っているパンダのデータフレーム、持っているA
としB
私は、列の間の差異の割合の分布グラフプロットしたいA
としB
A B
1 1.051990e+10 1.051990e+04
2 1.051990e+10 1.051990e+04
5 4.841800e+10 1.200000e+10
8 2.327700e+10 2.716000e+10
9 1.204900e+10 2.100000e+08
分布グラフは、10%の違いがあるレコードの数、20%の違いがあるレコードの数のようになります。
私は次のように試しました
df percCal(x,y):
return (x-y)*100/x
df['perc'] = df.apply(lambda x: percCal(df['A'], df['B']), axis=1)
私は初心者なので、これは機能していません。助けてください
lambda
操作は必要ありません。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df1 = pd.DataFrame(np.random.randint(1, 10, (20, 2)), columns=['A', 'B'])
def percCal(x,y):
return (x-y)*100/x
または、列を直接操作するだけです。
df1['diff'] = (df1['A'] - df1['B']) * 100 / df1['A']
関数を適用してプロットします。
df1['diff'] = percCal(df1['A'], df1['B'])
df1['diff'].plot(kind='density')
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加