J'ai les données CSV suivantes:Impossible de calculer la somme des données de la colonne Basé monnaie dans Pandas
+----------+-------------+-------+---------+
| Category | Part Number | Units | Cost |
+----------+-------------+-------+---------+
| Axel | 78 | 587 | $159.95 |
| Rim | 48 | 234 | $38.75 |
| Nut | 39 | 1234 | $0.15 |
| Axel | 79 | 67 | $110.95 |
+----------+-------------+-------+---------+
Et le code suivant:
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing the dataset
df = pd.read_csv('stock.csv',engine="python")
#Sum of values by category
df.groupby('Category').sum()['Units']
df.groupby('Category').sum()['Cost']
Quand je lance la deuxième à la dernière ligne, je obtenir le résultat suivant:
df.groupby('Category').sum()['Units']
Out[4]:
Category
Axel 654
Nut 1234
Rim 234
Name: Units, dtype: int64
Quand je lance la dernière ligne, je reçois l'erreur suivante:
KeyError: 'Cost'
Je ne suis pas sûr s'il existe un moyen simple d'additionner les données sans convertir le type de données en nombre entier, puis en le convertissant de nouveau.
'Cost' ressemble à une chaîne pour moi. Dans quel cas ... non. Vous ne pouvez pas ajouter de chaînes en tant que nombres sans les convertir. Si ce sont des chaînes * not *, vous pouvez faire 'sum (numeric_only = False)' –