[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 NaN0,
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 NaN1,
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 NaN2,
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 NaN4,
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 NaN5,
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 NaN6,…] 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 NaN7
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]
0Hà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