`p-value` `scipy.stats.pearsonr()`
import pandas as pd
from scipy.stats import pearsonr
df = pd.DataFrame({'A': range(5),
'B': [x**2 for x in range(5)],
'C': [x**3 for x in range(5)]})
p_value = df.corr(method=lambda x, y: pearsonr(x,y)[1])
print(df)
print(p_value)
**dataframe**
A | B | C
---|---|---
0 | 0 | 0
1 | 1 | 1
2 | 4 | 8
3 | 9 | 27
4 | 16 | 64
**p-value**
| A | B | C
---|---|---|---
A | 1 | 0.00993072 | 0.0341674
B | 0.00993072 | 1 | 0.00174922
C | 0.0341674 | 0.00174922 | 1