Exemple de comment sélectionner une ou des colonnes de données dans une DataFrame avec pandas ?
Créer une DataFrame avec Pandas
Soit par exemple le fichier csv suivant train.csv (que l'on peut télécharger sur kaggle). Pour lire le fichier il existe la fonction pandas read_csv():
>>> import pandas as pd
>>> df = pd.read_csv('train.csv')
>>> df.shape
(1460, 81)
Obtenir le noms des colonnes
>>> df.columns
Index(['Id', 'MSSubClass', 'MSZoning', 'LotFrontage', 'LotArea', 'Street',
'Alley', 'LotShape', 'LandContour', 'Utilities', 'LotConfig',
'LandSlope', 'Neighborhood', 'Condition1', 'Condition2', 'BldgType',
'HouseStyle', 'OverallQual', 'OverallCond', 'YearBuilt', 'YearRemodAdd',
'RoofStyle', 'RoofMatl', 'Exterior1st', 'Exterior2nd', 'MasVnrType',
'MasVnrArea', 'ExterQual', 'ExterCond', 'Foundation', 'BsmtQual',
'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinSF1',
'BsmtFinType2', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', 'Heating',
'HeatingQC', 'CentralAir', 'Electrical', '1stFlrSF', '2ndFlrSF',
'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 'BsmtHalfBath', 'FullBath',
'HalfBath', 'BedroomAbvGr', 'KitchenAbvGr', 'KitchenQual',
'TotRmsAbvGrd', 'Functional', 'Fireplaces', 'FireplaceQu', 'GarageType',
'GarageYrBlt', 'GarageFinish', 'GarageCars', 'GarageArea', 'GarageQual',
'GarageCond', 'PavedDrive', 'WoodDeckSF', 'OpenPorchSF',
'EnclosedPorch', '3SsnPorch', 'ScreenPorch', 'PoolArea', 'PoolQC',
'Fence', 'MiscFeature', 'MiscVal', 'MoSold', 'YrSold', 'SaleType',
'SaleCondition', 'SalePrice'],
dtype='object')
Sélectionner une colonne de données
>>> df['SalePrice']
0 208500
1 181500
2 223500
3 140000
4 250000
5 143000
6 307000
7 200000
8 129900
9 118000
10 129500
11 345000
12 144000
13 279500
14 157000
15 132000
16 149000
17 90000
18 159000
19 139000
20 325300
21 139400
22 230000
23 129900
24 154000
25 256300
26 134800
27 306000
28 207500
29 68500
...
1430 192140
1431 143750
1432 64500
1433 186500
1434 160000
1435 174000
1436 120500
1437 394617
1438 149700
1439 197000
1440 191000
1441 149300
1442 310000
1443 121000
1444 179600
1445 129000
1446 157900
1447 240000
1448 112000
1449 92000
1450 136000
1451 287090
1452 145000
1453 84500
1454 185000
1455 175000
1456 210000
1457 266500
1458 142125
1459 147500
Name: SalePrice, Length: 1460, dtype: int64
Sélectionner plusieurs colonnes de données
>>> mycolumns = ['GrLivArea','SalePrice']
>>> df[mycolumns]
GrLivArea SalePrice
0 1710 208500
1 1262 181500
2 1786 223500
3 1717 140000
4 2198 250000
5 1362 143000
6 1694 307000
7 2090 200000
8 1774 129900
9 1077 118000
10 1040 129500
11 2324 345000
12 912 144000
13 1494 279500
14 1253 157000
15 854 132000
16 1004 149000
17 1296 90000
18 1114 159000
19 1339 139000
20 2376 325300
21 1108 139400
22 1795 230000
23 1060 129900
24 1060 154000
25 1600 256300
26 900 134800
27 1704 306000
28 1600 207500
29 520 68500
... ... ...
1430 1838 192140
1431 958 143750
1432 968 64500
1433 1792 186500
1434 1126 160000
1435 1537 174000
1436 864 120500
1437 1932 394617
1438 1236 149700
1439 1725 197000
1440 2555 191000
1441 848 149300
1442 2007 310000
1443 952 121000
1444 1422 179600
1445 913 129000
1446 1188 157900
1447 2090 240000
1448 1346 112000
1449 630 92000
1450 1792 136000
1451 1578 287090
1452 1072 145000
1453 1140 84500
1454 1221 185000
1455 1647 175000
1456 2073 210000
1457 2340 266500
1458 1078 142125
1459 1256 147500
[1460 rows x 2 columns]
References
Links | Site |
---|---|
Selecting Subsets of Data in Pandas: Part 1 | medium.com |