0
votes

Comment puis-je supprimer le «Nan» ne pas enlever les données?

J'essaie de supprimer le "Nan".

En détail, il y a des données sur une ligne et "nan". p>

Mes données ressemble à celle ci-dessous. P> XXX PRE>

Je veux éliminer la NAAN entre les données et faire une donnée pour toutes les 18 lignes. P>

df_time_merge = df_concat.resample(index_time).mean()


1 commentaires

Bienvenue sur le SO, je voudrais demander comment vous importerez le jeu de données à partir de CSV , texte ou d'autre type? Si dans le cas où vous utilisez CSV ou Excel, alors au moment du traitement, vous pouvez supprimer les valeurs NAN qui facilitent le traitement ultérieur.


4 Réponses :


0
votes

Regardez cela. https://pandas.pydata.org/pandas- Docs / Stable / généré / Pandas.Dataframe.dropna.html

df.dropna (args ..). Est ce que vous êtes après.


0 commentaires

1
votes

Si vous avez chargé les données dans DataFrame à l'aide de Pandas, vous pouvez utiliser df.dropna () code>, où, df = pd.dataframe () code>

Vous pouvez également passer des paramètres comme ci-dessous: p>

df.dropna(how='any')    #to drop if any value in the row has a nan
df.dropna(how='all')    #to drop if all values in the row are nan


3 commentaires

Je l'ai fait ... mais ce n'est pas ce que je veux.


Ok, pouvez-vous être plus précis comme comment voulez-vous fusionner? Aussi, veuillez poster le code que vous avez proposé. Cela pourrait être plus facile de comprendre le problème.


J'ai ajouté le code et certains résultat de cela. S'il vous plaît jeter un oeil et où ça va.



0
votes

Votre solution complète est ci-dessous: Assurez-vous que votre structure de Dataframe est régulière.

Tout d'abord, vous divisez des colonnes du Dataframe en deux parties. Dans votre cas 1-11, 12-21. P>

your_df=pd.read_csv(...)
columns1=list(range(12))
columns2=list(range(12,22))

df1=your_df[columns1].dropna()
df2=your_df[columns2].dropna().reset_index(drop=True)

df_new=pd.concat([df2,df3], axis=1)


0 commentaires

0
votes

Est-ce que cela fait ce que vous voulez?

In [84]: compress[::2,:]+compress[1::2,:]
Out[84]:  
array([[ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  8., 10., 12., 14., 16.],
       [ 0.,  2.,  4.,  6.,  8., 10., 12., 16., 20., 24., 28., 32.]])


0 commentaires