如何找到pandas数据帧中所有行对之间的差异,平均值,总和?

时间:2016-07-06 15:16:48

标签: python numpy pandas dataframe

我有以下pandas DataFrame。

import pandas as pd
df = pd.read_csv('filename.csv')

print(df)

     dog      A         B           C
0     dog1    0.787575  0.159330    0.053095
1     dog10   0.770698  0.169487    0.059815
2     dog11   0.792689  0.152043    0.055268
3     dog12   0.785066  0.160361    0.054573
4     dog13   0.795455  0.150464    0.054081
5     dog14   0.794873  0.150700    0.054426
..    ....
8     dog19   0.811585  0.140207    0.048208
9     dog2    0.797202  0.152033    0.050765
10    dog20   0.801607  0.145137    0.053256
11    dog21   0.792689  0.152043    0.055268
    ....

我想在所有行之间找到A的绝对差异。如何做到这一点(记住数据增长很快)?

对#34;对#34;数据是尝试:

df1 = df.set_index("dog")

from itertools import combinations
cc = list(combinations(df,2))

out = pd.DataFrame([df1.loc[c,:].sum() for c in cc], index=cc)

然而,这只是总结。你怎么做多个操作?

1 个答案:

答案 0 :(得分:4)

考虑以下数据框:

$GLOBALS['TCA']['tt_content']['types'][$myCType]['columnsOverrides']['images']['config']['maxitems'] = 1;

enter image description here

使用numpy的subtract.outer函数,然后取绝对值。

ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT

enter image description here

获取组合元组的列表:

import numpy as np
import pandas as pd

df = pd.DataFrame({'Dog': list('ABCDEFG'), 'A': range(7)})[['Dog', 'A']]
df

enter image description here