Làm thế nào để bạn tạo các cột và hàng trong python?

(Nếu chúng ta giả sử nhiệt độ là 25 độ C và áp suất là 1013 hPa thì hệ số chuyển đổi là 1. 882)

In [4]: air_quality["london_mg_per_cubic"] = air_quality["station_london"] * 1.882

In [5]: air_quality.head()
Out[5]: 
                     station_antwerp  ..  london_mg_per_cubic
datetime                              ..                     
2019-05-07 02:00:00              NaN  ..               43.286
2019-05-07 03:00:00             50.5  ..               35.758
2019-05-07 04:00:00             45.0  ..               35.758
2019-05-07 05:00:00              NaN  ..               30.112
2019-05-07 06:00:00              NaN  ..                  NaN

[5 rows x 4 columns]

Để tạo một cột mới, hãy sử dụng dấu ngoặc đơn

In [6]: air_quality["ratio_paris_antwerp"] = (
   ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
   ...: )
   ...: 

In [7]: air_quality.head()
Out[7]: 
                     station_antwerp  ..  ratio_paris_antwerp
datetime                              ..                     
2019-05-07 02:00:00              NaN  ..                  NaN
2019-05-07 03:00:00             50.5  ..             0.495050
2019-05-07 04:00:00             45.0  ..             0.615556
2019-05-07 05:00:00              NaN  ..                  NaN
2019-05-07 06:00:00              NaN  ..                  NaN

[5 rows x 5 columns]
3 với tên cột mới ở bên trái của bài tập

Ghi chú

Việc tính toán các giá trị được thực hiện theo từng phần tử. Điều này có nghĩa là tất cả các giá trị trong cột đã cho được nhân với giá trị 1. 882 cùng một lúc. Bạn không cần sử dụng vòng lặp để lặp lại từng hàng

  • Tôi muốn kiểm tra tỷ lệ của các giá trị ở Paris so với Antwerp và lưu kết quả vào một cột mới

    In [6]: air_quality["ratio_paris_antwerp"] = (
       ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
       ...: )
       ...: 
    
    In [7]: air_quality.head()
    Out[7]: 
                         station_antwerp  ..  ratio_paris_antwerp
    datetime                              ..                     
    2019-05-07 02:00:00              NaN  ..                  NaN
    2019-05-07 03:00:00             50.5  ..             0.495050
    2019-05-07 04:00:00             45.0  ..             0.615556
    2019-05-07 05:00:00              NaN  ..                  NaN
    2019-05-07 06:00:00              NaN  ..                  NaN
    
    [5 rows x 5 columns]
    

    Phép tính một lần nữa là theo từng phần tử, do đó,

    In [6]: air_quality["ratio_paris_antwerp"] = (
       ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
       ...: )
       ...: 
    
    In [7]: air_quality.head()
    Out[7]: 
                         station_antwerp  ..  ratio_paris_antwerp
    datetime                              ..                     
    2019-05-07 02:00:00              NaN  ..                  NaN
    2019-05-07 03:00:00             50.5  ..             0.495050
    2019-05-07 04:00:00             45.0  ..             0.615556
    2019-05-07 05:00:00              NaN  ..                  NaN
    2019-05-07 06:00:00              NaN  ..                  NaN
    
    [5 rows x 5 columns]
    
    4 được áp dụng cho các giá trị trong mỗi hàng

Ngoài ra, các toán tử toán học khác (

In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
0,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
1,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
2,
In [6]: air_quality["ratio_paris_antwerp"] = (
   ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
   ...: )
   ...: 

In [7]: air_quality.head()
Out[7]: 
                     station_antwerp  ..  ratio_paris_antwerp
datetime                              ..                     
2019-05-07 02:00:00              NaN  ..                  NaN
2019-05-07 03:00:00             50.5  ..             0.495050
2019-05-07 04:00:00             45.0  ..             0.615556
2019-05-07 05:00:00              NaN  ..                  NaN
2019-05-07 06:00:00              NaN  ..                  NaN

[5 rows x 5 columns]
4,…) hoặc toán tử logic (
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
4,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
5,
In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
6,…) hoạt động theo từng phần tử. Cái sau đã được sử dụng trong hướng dẫn dữ liệu tập hợp con để lọc các hàng của bảng bằng biểu thức điều kiện.

Nếu bạn cần logic nâng cao hơn, bạn có thể sử dụng mã Python tùy ý qua

In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)

In [3]: air_quality.head()
Out[3]: 
                     station_antwerp  station_paris  station_london
datetime                                                           
2019-05-07 02:00:00              NaN            NaN            23.0
2019-05-07 03:00:00             50.5           25.0            19.0
2019-05-07 04:00:00             45.0           27.7            19.0
2019-05-07 05:00:00              NaN           50.4            16.0
2019-05-07 06:00:00              NaN           61.9             NaN
7

  • Tôi muốn đổi tên các cột dữ liệu thành mã định danh trạm tương ứng được sử dụng bởi OpenAQ

    In [8]: air_quality_renamed = air_quality.rename(
       ...:     columns={
       ...:         "station_antwerp": "BETR801",
       ...:         "station_paris": "FR04014",
       ...:         "station_london": "London Westminster",
       ...:     }
       ...: )
       ...: 
    

    In [6]: air_quality["ratio_paris_antwerp"] = (
       ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
       ...: )
       ...: 
    
    In [7]: air_quality.head()
    Out[7]: 
                         station_antwerp  ..  ratio_paris_antwerp
    datetime                              ..                     
    2019-05-07 02:00:00              NaN  ..                  NaN
    2019-05-07 03:00:00             50.5  ..             0.495050
    2019-05-07 04:00:00             45.0  ..             0.615556
    2019-05-07 05:00:00              NaN  ..                  NaN
    2019-05-07 06:00:00              NaN  ..                  NaN
    
    [5 rows x 5 columns]
    
    0

    Hàm

    In [2]: air_quality = pd.read_csv("data/air_quality_no2.csv", index_col=0, parse_dates=True)
    
    In [3]: air_quality.head()
    Out[3]: 
                         station_antwerp  station_paris  station_london
    datetime                                                           
    2019-05-07 02:00:00              NaN            NaN            23.0
    2019-05-07 03:00:00             50.5           25.0            19.0
    2019-05-07 04:00:00             45.0           27.7            19.0
    2019-05-07 05:00:00              NaN           50.4            16.0
    2019-05-07 06:00:00              NaN           61.9             NaN
    
    8 có thể được sử dụng cho cả nhãn hàng và nhãn cột. Cung cấp từ điển với các khóa tên hiện tại và giá trị tên mới để cập nhật tên tương ứng

Ánh xạ không nên chỉ giới hạn ở các tên cố định mà còn có thể là một chức năng ánh xạ. Ví dụ: chuyển đổi tên cột thành chữ thường cũng có thể được thực hiện bằng hàm

In [6]: air_quality["ratio_paris_antwerp"] = (
   ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
   ...: )
   ...: 

In [7]: air_quality.head()
Out[7]: 
                     station_antwerp  ..  ratio_paris_antwerp
datetime                              ..                     
2019-05-07 02:00:00              NaN  ..                  NaN
2019-05-07 03:00:00             50.5  ..             0.495050
2019-05-07 04:00:00             45.0  ..             0.615556
2019-05-07 05:00:00              NaN  ..                  NaN
2019-05-07 06:00:00              NaN  ..                  NaN

[5 rows x 5 columns]
2

Để hướng dẫn sử dụng

Chi tiết về cách đổi tên nhãn hàng hoặc cột được cung cấp trong phần hướng dẫn sử dụng về đổi tên nhãn .

NHỚ

  • Tạo cột mới bằng cách gán đầu ra cho DataFrame với tên cột mới ở giữa

    In [6]: air_quality["ratio_paris_antwerp"] = (
       ...:     air_quality["station_paris"] / air_quality["station_antwerp"]
       ...: )
       ...: 
    
    In [7]: air_quality.head()
    Out[7]: 
                         station_antwerp  ..  ratio_paris_antwerp
    datetime                              ..                     
    2019-05-07 02:00:00              NaN  ..                  NaN
    2019-05-07 03:00:00             50.5  ..             0.495050
    2019-05-07 04:00:00             45.0  ..             0.615556
    2019-05-07 05:00:00              NaN  ..                  NaN
    2019-05-07 06:00:00              NaN  ..                  NaN
    
    [5 rows x 5 columns]
    
    3