Eu sunt nou la acest lucru. Eu sunt în prezent experimente cu cadre de date în python și sunt un pic blocat cu ceva. Am nevoie pentru a obține coloane în cadru de date care au aceeași diferență între unică de elemente sortate. Eu sunt capabil să-l facă într-un singur cod, dar vreau să-l fac dinamic prin obtinerea-l din cadru de date într-un fișier.
import numpy as np
import pandas as pd
first = [20, 10, 40, 30, 10]
sec = [94, 74, 34, 80]
df = pd.DataFrame([(first,sec) for first,sec in zip(first,sec)])
print(df)
cols = list(df.columns)
sorted_df = df.sort_values(by = cols, ascending = True)
print("sorted - \n", sorted_df)
all_unique = [sorted_df[col].unique() for col in cols]
print("UNIQUE:\n", all_unique)
diff = [np.diff(lst) for last in all_unique]
print("DIFF - \n", diff)
Eu sunt în măsură pentru a obține lista de liste de diferență. Acum am nevoie pentru a verifica dacă toate elementele din diferente sunt la fel, daca da, atunci trebuie să se întoarcă la numele de coloana, fie ea prima sau a sec. La ieșire am primit este:
0 1
0 20 94
1 10 74
2 20 34
3 30 80
sorted -
0 1
0 20 94
1 10 74
2 20 30
3 30 80
UNIQUE:
[array([10, 20, 30]), array([74, 34, 94, 80])]
DIFF -
[array([10, 10]), array([-40, 60, -14])]
După aceasta, ar trebui să se întoarcă nume de coloană sau numele listei care are aceleași elemente. Rezultatul dorit ar trebui să fie o listă de nume de coloane de coloane care au aceeași diferență de sortate elemente unice. Deci, aici ar trebui să fie:
output - ['first']