Domanda semplice e pratica, ma non riesco a trovare una soluzione.Copia la riga DataFrame dei panda su più righe
Le domande che ho preso uno sguardo sono stati i seguenti:
Modifying a subset of rows in a pandas dataframe
Changing certain values in multiple columns of a pandas DataFrame at once
Fastest way to copy columns from one DataFrame to another using pandas?
Selecting with complex criteria from pandas.DataFrame
La differenza fondamentale tra questi e il mio è che non ho bisogno di inserire un singolo valore, ma una riga.
Il mio problema è, prendo una fila di un dataframe, diciamo df1
. Quindi ho una serie.
Ora ho questo altro dataframe, df2
, che ho selezionato più righe in base a un criterio, e voglio replicare quella serie a tutte quelle righe.
df1:
Index/Col A B C
1 0 0 0
2 0 0 0
3 1 2 3
4 0 0 0
DF2:
Index/Col A B C
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
Quello che voglio realizzare è l'inserimento di df1 [3] nelle linee dF2 [2] e DF3 [3], per esempio. Quindi, qualcosa come il codice non lavoro:
series = df1[3]
df2[df2.index>=2 and df2.index<=3] = series
ritorno
DF2:
Index/Col A B C
1 0 0 0
2 1 2 3
3 1 2 3
4 0 0 0
ok suona bene. Un paio di domande, la parte destra funziona se si tratta di una serie? puoi modificare in modo che la selezione condizionale venga presa in considerazione? –
No, come ho affermato se provi a ottenere una mancata corrispondenza di forma 'ValueError'. Funzionerebbe solo se hai passato un 'Serie' della stessa forma e se i valori dell'indice corrispondono a – EdChum
o capito. Grazie ! –