J'ai un Dataframe qui est entièrement peuplé avec Nan. Spécifiquement: p> J'ai le tableau numpy suivant: p> J'ai essayé d'attribuer le tableau à 2019-10-30 Rangée par: p> ainsi que p> pour le moment, aboutissant tous deux: P> print(histPrice['Allocation %'].iloc[2])
[Output]:
Symbols
SPY NaN
GLD NaN
TLT NaN
MA NaN
QQQ NaN
TIP NaN
Name: 2019-10-30 00:00:00, dtype: float64
3 Réponses :
Vous devriez faire
df.iloc[2,:]=a[0]
df
Out[142]:
Stock: Bond: Gold:
2/01/19 NaN NaN NaN
1/31/19 NaN NaN NaN
1/30/19 33% 33% 33%
1/29/19 NaN NaN NaN
Cela n'a pas fonctionné. Voir la section "Détails supplémentaires" dans mon poste mis à jour
Si vous souhaitez mettre à jour la ligne entière avec votre tableau NUMPY, vous devriez pouvoir utiliser:
import pandas as pd
import numpy as np
df = pd.DataFrame(columns=['Stock','Bond','Gold'], index=['2/01/19','1/31/19','1/30/19','1/29/19'])
histPrice = {}
histPrice['Allocation %'] = df
x = np.array([2,3,1])
histPrice['Allocation %'].iloc[2] = x
print(histPrice['Allocation %'].iloc[2])
Cela n'a pas fonctionné. Voir la section "Détails supplémentaires" dans mon poste mis à jour
@ Drive2Blue On dirait que vous essayez d'attribuer la matrice à une colonne historique ['allocation%'] et non une ligne.
@ Drive2Blue Avez-vous un DataFrame enregistré dans un dictionnaire?
@ Drive2Blue basé sur votre question mise à jour, je me demande si vous avez un ou plusieurs DataFrames stockés dans un dictionnaire. Y a-t-il une chance de mettre à jour le mauvais Dataframe (je ne demandez-vous que parce que vous faites référence à deux types de données différents dans votre question mise à jour: Histprice [«Allocation%»], Histprice [«RP Allocation%»])?
Il n'y a qu'un seul dataframe, "allocation%". Désolé pour la confusion. J'ai révisé le post en conséquence
@ Driver2blue pas un problème du tout. Qu'est-ce que histprice i>?
Histprice est 'pandas.core.frame.dataframe'
@ Drive2Blue hmm j'ai bien peur de ne pas bien comprendre comment votre Dataframe est structuré. Si Histprice est un dataframe Pandas, utilisez Histprice [«Allocation%»]. Iloc [2] = X signifierait que vous essayez d'attribuer la matrice NUMPY à l'index 2, de la colonne 'Allocation%', et seulement cette colonne ( c'est-à-dire pas la ligne).
Vous m'avez pointé sur quelque chose que j'ai peut-être surveillé tout ce temps. Pour clarifier, Allocation% code> est un fichier de données dans un autre Dataframe, Histprice code>. En fait, cela semble être le problème. L'utilisation d'ILOC ou de LOC pour affecter une valeur ne parvient pas invariablement à mettre à jour la valeur. Cependant, si je gère la même logique au niveau des parents (HISTPRIE), cela fonctionne. Je vais mettre à jour mon message avec des détails supplémentaires sur ce que je veux dire. Merci beaucoup pour tout votre temps et votre aide!
@ Drive2Blue Je me demandais s'il y avait un fichier de données imbriqué et je cherchais même à stocker des données de données dans les données de données car c'est un nouveau concept pour moi. Je suis content d'avoir été encore capable d'aider cependant.
Et comment insérer, disons, 2x10 code> dans 2 lignes de Dataframe? J'ai essayé d'utiliser df.loc [['Row1', 'Row2'] ,:] = my_array code> mais il jette une erreur. Merci
Dans la description, vous stockez un fichier de données dans une autre ligne de données à une seule ligne.
En faisant ci-dessous, vous définissez une valeur dans la copie de votre Dataframe. p>
histPrice.loc[0, 'Allocation %'].iloc[2] = x
hmmm, j'ai essayé votre suggestion, mais got KeyError: "allocation%" code> à la place, j'ai essayé histprice.loc [:, "allocation%"]. Iloc [2] = x code> Mais cela a abouti à ValueError: régler un élément de tableau avec une séquence code> :(
@ Drive2Blue N'utilisez pas de tableau, définissez X comme liste. devrait être fine =)
essayez-vous de remplacer chaque troisième rangée de table avec une matrice NP?
@Tserenjamts Je viens d'essayer de remplacer une ligne spécifique avec un tableau
Histprice est de quel type?
@aprilangel Histprice est 'pandas.core.frame.dataframe'
@ Drive2Blue mais il ressemble à Histprice ['Allocation%'] est également un fichier de données.
@aprilangel correct, donc
allocation% code> est un fichier de données dans un autre Dataframe,Histprice code>. En fait, cela semble être le problème. Utilisation deILOC code> ouloc code> Pour affecter une valeur ne parvient pas à mettre à jour la valeur. Cependant, si je gère la même logique au niveau des parents (HISTPRIE), cela fonctionne. Je vais mettre à jour mon message avec des détails supplémentaires sur ce que je veux dire. Tu m'as pointé sur quelque chose que j'ai peut-être surveillé tout ce temps! Merci!!@ Drive2Blue Hey, s'il vous plaît voir ma réponse.