Les Pandas - supprimer des colonnes

Je suis conscient que la suppression d'un dataframe de colonnes doit être aussi simple que:

df.drop(df.columns[1], axis=1) une baisse de l'indice de

ou dr.dropna(axis=1, how='any') à la baisse en fonction de si il contient NaNs.

Mais aucun de ces travaux sur mon dataframe et je ne sais pas si c'est à cause d'un probléme de format ou le type de données d'émission ou d'une mauvaise utilisation ou une incompréhension de ces commandes.

Voici mon dataframe:

fish_frame after append new_column:                         0       1       2      3                          4  \
2                 GBE COD     NaN     NaN    600                        NaN   
3                 GBW COD     NaN  11,189    NaN                        NaN   
4                 GOM COD     NaN       0    NaN  Package Deal - $40,753.69   
5                 POLLOCK     NaN     NaN  1,103                        NaN   
6                   WHAKE     NaN     NaN     12                        NaN   
7             GBE HADDOCK     NaN  10,730    NaN                        NaN   
8             GBW HADDOCK     NaN  64,147    NaN                        NaN   
9             GOM HADDOCK     NaN       0    NaN                        NaN   
10                REDFISH     NaN     NaN      0                        NaN   
11         WITCH FLOUNDER     NaN     370    NaN                        NaN   
12                 PLAICE     NaN     NaN    622                        NaN   
13     GB WINTER FLOUNDER  54,315     NaN    NaN                        NaN   
14    GOM WINTER FLOUNDER     653     NaN    NaN                        NaN   
15  SNEMA WINTER FLOUNDER  14,601     NaN    NaN                        NaN   
16          GB YELLOWTAIL     NaN   1,663    NaN                        NaN   
17       SNEMA YELLOWTAIL     NaN   1,370    NaN                        NaN   
18       CCGOM YELLOWTAIL   1,812     NaN    NaN                        NaN   
6        package_deal_column Package_Price new_column  
2    NaN  Package Deal - $40,753.69          None        600  
3    NaN  Package Deal - $40,753.69          None    11,1890  
4   None  Package Deal - $40,753.69          None          0  
5    NaN  Package Deal - $40,753.69          None      1,103  
6    NaN  Package Deal - $40,753.69          None         12  
7    NaN  Package Deal - $40,753.69          None    10,7300  
8    NaN  Package Deal - $40,753.69          None    64,1470  
9    NaN  Package Deal - $40,753.69          None          0  
10   NaN  Package Deal - $40,753.69          None          0  
11   NaN  Package Deal - $40,753.69          None       3700  
12   NaN  Package Deal - $40,753.69          None        622  
13  None  Package Deal - $40,753.69          None   54,31500  
14  None  Package Deal - $40,753.69          None      65300  
15  None  Package Deal - $40,753.69          None   14,60100  
16   NaN  Package Deal - $40,753.69          None     1,6630  
17   NaN  Package Deal - $40,753.69          None     1,3700  
18  None  Package Deal - $40,753.69          None    1,81200 

Et puis j'ai les lignes de code suivantes:

fish_frame.drop(fish_frame.columns[1], axis=1)
fish_frame.drop(fish_frame.columns[2], axis=1)
fish_frame.drop(fish_frame.columns[3], axis=1)
fish_frame.drop(fish_frame.columns[4:5], axis=1)
#del fish_frame[4:5]    #doesn't work, "TypeError: slice(4, 5, None) is an invalid key"
del fish_frame['Package_Price']
fish_frame.dropna(axis=1, how='any')

Et puis j'ai l'impression que le dataframe de nouveau et il s'en sort comme:

NEW fish_frame:                         0       1       2      3                          4  \
2                 GBE COD     NaN     NaN    600                        NaN   
3                 GBW COD     NaN  11,189    NaN                        NaN   
4                 GOM COD     NaN       0    NaN  Package Deal - $40,753.69   
5                 POLLOCK     NaN     NaN  1,103                        NaN   
6                   WHAKE     NaN     NaN     12                        NaN   
7             GBE HADDOCK     NaN  10,730    NaN                        NaN   
8             GBW HADDOCK     NaN  64,147    NaN                        NaN   
9             GOM HADDOCK     NaN       0    NaN                        NaN   
10                REDFISH     NaN     NaN      0                        NaN   
11         WITCH FLOUNDER     NaN     370    NaN                        NaN   
12                 PLAICE     NaN     NaN    622                        NaN   
13     GB WINTER FLOUNDER  54,315     NaN    NaN                        NaN   
14    GOM WINTER FLOUNDER     653     NaN    NaN                        NaN   
15  SNEMA WINTER FLOUNDER  14,601     NaN    NaN                        NaN   
16          GB YELLOWTAIL     NaN   1,663    NaN                        NaN   
17       SNEMA YELLOWTAIL     NaN   1,370    NaN                        NaN   
18       CCGOM YELLOWTAIL   1,812     NaN    NaN                        NaN   
6        package_deal_column new_column  
2    NaN  Package Deal - $40,753.69        600  
3    NaN  Package Deal - $40,753.69    11,1890  
4   None  Package Deal - $40,753.69          0  
5    NaN  Package Deal - $40,753.69      1,103  
6    NaN  Package Deal - $40,753.69         12  
7    NaN  Package Deal - $40,753.69    10,7300  
8    NaN  Package Deal - $40,753.69    64,1470  
9    NaN  Package Deal - $40,753.69          0  
10   NaN  Package Deal - $40,753.69          0  
11   NaN  Package Deal - $40,753.69       3700  
12   NaN  Package Deal - $40,753.69        622  
13  None  Package Deal - $40,753.69   54,31500  
14  None  Package Deal - $40,753.69      65300  
15  None  Package Deal - $40,753.69   14,60100  
16   NaN  Package Deal - $40,753.69     1,6630  
17   NaN  Package Deal - $40,753.69     1,3700  
18  None  Package Deal - $40,753.69    1,81200  

Ni les NaN goutte de travail, ni la suppression de l'index de travail. Seul le drop[column name] commande fonctionne mais je ne peux pas le faire pour chaque itération de ce script.

Je suis très confus et j'espère que ce n'est pas un très bête erreur, je suis en train de faire.

Aussi, j'ai moi-même ne comprenez pas cette information, mais l'impression fish_frame.info() produit:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 17 entries, 2 to 18
Data columns (total 8 columns):
0                      17 non-null object
1                      4 non-null object
2                      8 non-null object
3                      5 non-null object
4                      1 non-null object
6                      0 non-null object
package_deal_column    17 non-null object
new_column             17 non-null object
dtypes: object(8)
memory usage: 586.0+ bytes

Toute l'aide pour résoudre ce serait apprécié, merci.

  • vous avez besoin de déplacer de lieu ou de ré-affecter le résultat à une nouvelle df.
InformationsquelleAutor theprowler | 2017-07-26