के बीच अंतर अद्वितीय तत्वों का क्रमबद्ध कॉलम में एक dataframe

0

सवाल

मैं एक छोटे से हूँ इस के लिए नया. मैं वर्तमान में हूँ के साथ प्रयोग डेटा फ्रेम में अजगर और एक छोटे से कुछ के साथ अटक. मैं की जरूरत है पाने के लिए कॉलम में डेटा फ्रेम है जो एक ही के बीच अंतर उनके अद्वितीय क्रमबद्ध तत्वों. मैं करने में सक्षम हूँ क्या यह एक स्टैंड-अलोन कोड, लेकिन मैं करना चाहते हैं यह करने के लिए गतिशील रूप से यह हो रही द्वारा डेटा फ्रेम में एक फ़ाइल है.

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)

मैं कर रहा हूँ प्राप्त करने के लिए सूची की सूची का अंतर है । अब मैं की जरूरत है अगर जाँच करने के लिए सभी तत्वों में रचनाकार ही कर रहे हैं, यदि हाँ तो वापस करने के लिए कॉलम के नाम हो सकता है, यह पहली या सेकंड. आउटपुट है:

   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])]

इस के बाद, मैं वापस आ जाना चाहिए स्तंभ नाम या सूची का नाम है, जो एक ही तत्व है । वांछित उत्पादन किया जाना चाहिए की एक सूची में स्तंभ नाम के कॉलम है, जो एक ही अंतर का हल अद्वितीय तत्व है । यहाँ तो यह होना चाहिए:

output - ['first']
dataframe pandas python
2021-11-24 06:13:28
1

सबसे अच्छा जवाब

1

उपयोग की सूची के साथ समझ का परीक्षण अगर हल मूल्यों differencies अद्वितीय हैं:

#without unique values
output = [col for col in cols if df[col].sort_values().diff().nunique() == 1]
print("OUT - \n", output)
[0]

#with unique values
output = [col for col in cols 
          if df[col].drop_duplicates().sort_values().diff().nunique() == 1]

या:

output = [col for col in cols if np.unique(np.diff(np.unique(df[col]))).shape[0] == 1]
print("OUT - \n", output)
[0]
2021-11-24 07:05:30

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में