0
votes

Comment soustraire un numéro de tous les éléments d'un Dataframe avec des pandas?

J'essaie de soustraire un numéro de tous les éléments d'un Dataframe avec des pandas. Cependant, seul le 1er élément est soustrait et les autres obtiennent nan code>.

Voici les données: Dataframe_3x5.csv p> xxx pré>

voici mon code: p> xxx pré>

Voici le résultat: p> xxx

Mes attentes: p> xxx pré>

selon Ce site , P>

ValueError: No axis named columns for object type <class 'pandas.core.series.Series'>


3 commentaires

Vous pouvez simplement faire df - votre_number ?


Pouvez-vous ajouter une sortie attendue


@AYOUBZAROU Je crois que c'est ce que je fais avec data.iloc [:, i] - medinelist.iloc [i] (pas sûr, cependant). Pour la sortie attendue, veuillez regarder mon attente .


4 Réponses :


0
votes

Je pense que si vous essayez d'abord drowna code>, puis soustrayez-le, cela peut fonctionner

df=df.dropna(how='any')
df['Sub']=int(df['A']) - int(df['B']) - int(df['C'])


0 commentaires

2
votes

Vous pouvez faire:

df - df.median(axis=0)


2 commentaires

Vous êtes mon économiseur de vie. Oh, l'homme, je n'ai même pas eu à calculer la colonne des médianes par colonne en utilisant une boucle de boucle. Vous avez résolu mon problème avec une seule ligne de code. Je dois en savoir plus sur les pandas. Merci beaucoup!


heureux d'avoir pu aider, codant heureux ^^



1
votes

Une solution simple: xxx

Entrez la description de l'image ici


0 commentaires

0
votes
import pandas as pd
data = pd.read_csv(r"DataFrame_3x5.csv")
df = pd.DataFrame(data)
medianList = pd.DataFrame()
for i in range(0, data.shape[1]):
  medianList = medianList.append([df.iloc[:,i].median()], ignore_index=True)

df1 = pd.DataFrame(columns=['A'])
j=0
for i in range(0, data.shape[0]):
    print(data['A'].iloc[i]) # one column
    print(medianList.iloc[i])  #1 value
    print(data['A'].iloc[i] - medianList.iloc[j])

0 commentaires