les pandas.Série() de la Création à l'aide de DataFrame Colonnes renvoie NaN entrées de Données
Im essayant de convertir un dataframe dans une série à l'aide de code qui, simplifié, ressemble à ceci:
dates = ['2016-1-{}'.format(i)for i in range(1,21)]
values = [i for i in range(20)]
data = {'Date': dates, 'Value': values}
df = pd.DataFrame(data)
df['Date'] = pd.to_datetime(df['Date'])
ts = pd.Series(df['Value'], index=df['Date'])
print(ts)
Cependant, imprimer sortie ressemble à ceci:
Date
2016-01-01 NaN
2016-01-02 NaN
2016-01-03 NaN
2016-01-04 NaN
2016-01-05 NaN
2016-01-06 NaN
2016-01-07 NaN
2016-01-08 NaN
2016-01-09 NaN
2016-01-10 NaN
2016-01-11 NaN
2016-01-12 NaN
2016-01-13 NaN
2016-01-14 NaN
2016-01-15 NaN
2016-01-16 NaN
2016-01-17 NaN
2016-01-18 NaN
2016-01-19 NaN
2016-01-20 NaN
Name: Value, dtype: float64
Où NaN
venir? Est une vue sur un DataFrame
objet n'est pas une entrée valide pour le Series
classe ?
J'ai trouvé le to_series
function pour pd.Index
objets, est-il quelque chose de similaire pour DataFrame
s ?
Êtes-vous en commençant par le dataframe ou est-ce juste une étape intermédiaire?
En commençant par un dataframe - c'est pourquoi je n'ai pas la mettre dans une Série tout de suite; les données sont chargées à partir d'un CSV avec plusieurs colonnes.
Ah ok. De sorte que vous pouvez ignorer ma réponse.
En commençant par un dataframe - c'est pourquoi je n'ai pas la mettre dans une Série tout de suite; les données sont chargées à partir d'un CSV avec plusieurs colonnes.
Ah ok. De sorte que vous pouvez ignorer ma réponse.
OriginalL'auteur nlsdfnbch | 2016-03-05
Vous devez vous connecter pour publier un commentaire.
Je pense que vous pouvez utiliser
, il convertir colonne
Value
de tableau:Ou vous pouvez utiliser:
Merci @ajcr pour une meilleure explication de pourquoi vous obtenez
NaN
:Quand vous donnez un
Series
ouDataFrame
colonne depd.Series
, il va revisiter l'aide de laindex
vous spécifiez. Depuis votreDataFrame
colonne a un nombre entierindex
(pas undate index
), vous obtenez beaucoup de valeurs manquantes.Par curiosité, de quoi convertir les données de la liste ? J'ai toujours pensé que je pense des valeurs renvoyées de
df['Date']
comme un objet iterable, comparables à des listes - n'est-ce pas le cas?Quand vous donnez une Série ou d'un DataFrame colonne de
pd.Series
, il reindex à l'aide de l'index que vous spécifiez. Depuis votre DataFrame colonne a un index entier (pas un jour d'un index). vous obtenez beaucoup de valeurs manquantes.Merci pour l'explication.
OriginalL'auteur jezrael
Si vous cherchez seulement pour créer de la série avec ces valeurs, vous auriez aussi pu faire:
OriginalL'auteur k-nut
Il vous suffit de faire:
Qui est maintenant une colonne dataframe.
Si vous voulez vraiment en tant que Série:
btw, NaN est numpy n'est Pas un Nombre.
L'aide de votre méthode, vous pouvez utiliser:
La raison pour laquelle vous faites les NaNs, c'est que vous n'êtes pas fournir les données dans le bon format. Vous êtes de passage à une Série une Série.
OriginalL'auteur Alexander