Ich habe den folgenden Pandas DataFrame.Wie finden Sie den Unterschied, Mittelwert, Summe zwischen allen Paaren von Zeilen in 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
....
Ich will die absolute Differenz von A
zwischen allen Zeilen finden. Wie macht man das (wenn man bedenkt, dass die Daten sehr schnell wachsen)?
Eine Möglichkeit, die Daten „Paar“, um zu versuchen:
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)
Dies ist jedoch nur summiert werden. Wie machen Sie mehrere Operationen?
Dank. Wie würden Sie dies in ein "gepaartes Format" bringen, d. H. (Hund A, Hund A) = 0, (Hund A, Hund B) = 1 usw.? – ShanZhengYang
Beitrag wurde aktualisiert – piRSquared
@ShanZhengYang Wenn Sie diese Antwort zufriedenstellend gefunden haben, dann akzeptieren Sie es bitte. Dies wird die Frage als beantwortet markieren und die Leute dazu ermutigen, Ihre zukünftigen Fragen zu beantworten. – limbo