iXdi - Σύγχρονος προγραμματισμός

Αφαιρέστε από όλες τις στήλες στη γραμμή πλαισίου δεδομένων την τιμή σε μια Σειρά όταν ταιριάζουν τα ευρετήρια

Προσπαθώ να αφαιρέσω 1 από όλες τις στήλες στις σειρές ενός DataFrame που έχουν αντίστοιχο ευρετήριο σε list.

Για παράδειγμα, αν έχω ένα DataFrame όπως αυτό:

df = pd.DataFrame({'AMOS Admin': [1,1,0,0,2,2], 'MX Programs': [0,0,1,1,0,0], 'Material Management': [2,2,2,2,1,1]})

print(df)
       AMOS Admin  MX Programs  Material Management
0           1            0                    2
1           1            0                    2
2           0            1                    2
3           0            1                    2
4           2            0                    1
5           2            0                    1

Θέλω να αφαιρέσω το 1 από όλες τις στήλες όπου το ευρετήριο είναι στο [2, 3] έτσι ώστε το τελικό αποτέλεσμα να είναι:

    AMOS Admin  MX Programs  Material Management
0           1            0                    2
1           1            0                    2
2          -1            0                    1
3          -1            0                    1
4           2            0                    1
5           2            0                    1

Αφού δεν βρήκα τρόπο να το κάνω αυτό, δημιούργησα μια Σειρά:

sr = pd.Series([1,1], index=['2', '3'])
print(sr)
2    1
3    1
dtype: int64

Ωστόσο, εφαρμόζοντας τη δευτερεύουσα μέθοδο σύμφωνα με αυτήν την ερώτηση οδηγεί σε ένα DataFrame με όλα τα NaN και νέες σειρές στο κάτω μέρος.

    AMOS Admin  MX Programs Material Management
0   NaN         NaN         NaN
1   NaN         NaN         NaN
2   NaN         NaN         NaN
3   NaN         NaN         NaN
4   NaN         NaN         NaN
5   NaN         NaN         NaN
2   NaN         NaN         NaN
3   NaN         NaN         NaN

Οποιαδήποτε βοήθεια θα ήταν πολύτιμη.

Ευχαριστώ, Χουάν


Απαντήσεις:


1

Χρησιμοποιώντας reindex μαζί σας sr και μετά αφαιρέστε χρησιμοποιώντας values

df.loc[:]=df.values-sr.reindex(df.index,fill_value=0).values[:,None]
df
Out[1117]: 
   AMOS Admin  MX Programs  Material Management
0           1            0                    2
1           1            0                    2
2          -1            0                    1
3          -1            0                    1
4           2            0                    1
5           2            0                    1
11.03.2019
  • Σας ευχαριστώ Web-Ben. Αυτό βοηθάει πολύ επίσης. 11.03.2019

  • 2

    Εάν αυτό που θέλετε να κάνετε είναι τόσο συγκεκριμένο, γιατί δεν κάνετε απλώς:

    df.loc[[2, 3], :] = df.loc[[2, 3], :].subtract(1)
    
    11.03.2019
  • Γεια Kartik, ευχαριστώ. Αυτό φτάνει σε αυτό που προσπαθούσα να επιτύχω, αλλά δεν γνώριζα ότι το .substract() ήταν μια επιλογή. 11.03.2019
  • Νέα υλικά

    Καθαρισμός δεδομένων, Επιλογή χαρακτηριστικών, Μοντελοποίηση και Ερμηνευσιμότητα
    Ο καθαρισμός δεδομένων, η επιλογή χαρακτηριστικών, η μοντελοποίηση και η ερμηνευτικότητα είναι κρίσιμα βήματα για την ανάπτυξη ενός επιτυχημένου μοντέλου μηχανικής εκμάθησης. Τα ακριβή και..

    Code Smell 210 - Dynamic Properties
    Η τεμπελιά και η μαγεία φέρνουν ελαττώματα TL;DR: Να είστε ξεκάθαροι με τα χαρακτηριστικά σας Προβλήματα Ευανάγνωστο Ορισμός πεδίου εφαρμογής Απαρατήρητα τυπογραφικά λάθη..

    Οπτικοποίηση δεδομένων με γραφήματα Google
    του Ejiro Thankgod Η οπτικοποίηση δεδομένων είναι μια εξαιρετική προσέγγιση για την εμφάνιση δεδομένων και τη συμμετοχή κοινού. Ο ανθρώπινος νους είναι συχνά καλύτερος στο να θυμάται..

    Το όνομά μου είναι Abdul Qudus.abd
    Το όνομά μου είναι Abdul Qudus.abd Είμαι διαδικτυακός συγγραφέας και γράφω άρθρα. Έχω 3ετή εμπειρία στη διαδικτυακή συγγραφή. οπότε θα είμαι ο καλύτερος συγγραφέας στην πλατφόρμα σας. είμαι ο..

    Το Python Selenium Web Scraping σας κατέβασε το 2023; Εκκαθαρίστε την προσωρινή μνήμη και ενισχύστε τα αποτελέσματά σας!
    Η απόξεση ιστού με το Python Selenium είναι ένα εξαιρετικό εργαλείο για την εξαγωγή δεδομένων από ιστοσελίδες. Ωστόσο, περιστασιακά, οι ιστοσελίδες ενδέχεται να αποτύχουν να φορτώσουν ή να..

    Έννοιες JavaScript που πρέπει να γνωρίζετε για να ξεκινήσετε με το React
    Αφού είδα αυτή την ερώτηση να τίθεται αμέτρητες φορές, πιστεύω ότι μπορεί να είναι χρήσιμο σε πολλούς ανθρώπους εκεί έξω να έχουν μια σαφή κατανόηση του τι χρειάζεται να είναι γνωστό στο..

    Χρήση της C++ ως γλώσσας δέσμης ενεργειών, μέρος 8
    Βελτίωση κλήσεων λειτουργιών API με χρήση ενσωματωμένης συναρμολόγησης Έχω πειραματιστεί με την ενσωματωμένη συναρμολόγηση στο παρελθόν με κάποια επιτυχία. Είναι περίπλοκο και εύκολο να κάνεις..