Hướng dẫn what is reindex function in python? - chức năng reindex trong python là gì?

DataFrame.Reindex (nhãn = none, index = none, cột = none, axis = none, meather = none, copy = none, level = none, fill_value = nan, giới hạn = khôngreindex(labels=None, index=None, columns=None, axis=None, method=None, copy=None, level=None, fill_value=nan, limit=None, tolerance=None)[source]#

Sê -ri phù hợp/dataFrame với chỉ mục mới với logic điền tùy chọn.

Đặt NA/NAN ở các vị trí không có giá trị trong chỉ số trước. Một đối tượng mới được tạo ra trừ khi chỉ mục mới tương đương với hiện tại và copy=False.

Tham sốKekWords cho AxesArray giống như, Tùy chọnkeywords for axesarray-like, optional

Nhãn / chỉ mục mới để phù hợp, nên được chỉ định bằng cách sử dụng từ khóa. Tốt nhất là một đối tượng chỉ mục để tránh sao chép dữ liệu.

Phương thức {Không, ‘Backfill,/Bf Bfill,‘ Pad,/Ff Ffill, ’gần nhất}{None, ‘backfill’/’bfill’, ‘pad’/’ffill’, ‘nearest’}

Phương pháp sử dụng để điền vào các lỗ hổng trong DataFrame được tái hiện. Xin lưu ý: Điều này chỉ áp dụng cho DataFrames/Sê -ri với chỉ số tăng/giảm đơn điệu.

  • Không (mặc định): Don lồng lấp đầy khoảng trống

  • PAD / FFILL: Tuyên truyền quan sát hợp lệ cuối cùng về phía sau hợp lệ tiếp theo.

  • Overfill / bfill: Sử dụng quan sát hợp lệ tiếp theo để lấp đầy khoảng trống.

  • Gần nhất: Sử dụng các quan sát hợp lệ gần nhất để lấp đầy khoảng trống.

copybool, mặc định đúngbool, default True

Trả về một đối tượng mới, ngay cả khi các chỉ mục được truyền là như nhau.

cấp độ hoặc tênint or name

Phát sóng trên một cấp độ, phù hợp với các giá trị chỉ số ở cấp độ đa dạng được thông qua.

fill_valuescalar, np.nan mặc địnhscalar, default np.NaN

Giá trị để sử dụng cho các giá trị bị thiếu. Mặc định là NAN, nhưng có thể là bất kỳ giá trị tương thích nào của người Viking.

giới hạn, mặc định không cóint, default None

Số lượng tối đa của các yếu tố liên tiếp để chuyển tiếp hoặc lùi.

ToleranceOptionaloptional

Khoảng cách tối đa giữa nhãn gốc và nhãn mới cho các trận đấu không chính xác. Các giá trị của chỉ mục tại các vị trí phù hợp thỏa mãn nhất phương trình

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
0.

Dung sai có thể là một giá trị vô hướng, áp dụng cùng một dung sai cho tất cả các giá trị hoặc giống như danh sách, áp dụng dung sai biến đổi trên mỗi phần tử. Giống như danh sách bao gồm danh sách, tuple, mảng, loạt và phải có cùng kích thước với chỉ mục và DTYPE của nó phải khớp chính xác với loại chỉ mục.

ReturnSseries/dataFrame với chỉ mục đã thay đổi.

Ví dụ

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
1 hỗ trợ hai quy ước gọi

  • >>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
    ...              'Chrome']
    >>> df.reindex(new_index)
                   http_status  response_time
    Safari               404.0           0.07
    Iceweasel              NaN            NaN
    Comodo Dragon          NaN            NaN
    IE10                 404.0           0.08
    Chrome               200.0           0.02
    
    2

  • >>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
    ...              'Chrome']
    >>> df.reindex(new_index)
                   http_status  response_time
    Safari               404.0           0.07
    Iceweasel              NaN            NaN
    Comodo Dragon          NaN            NaN
    IE10                 404.0           0.08
    Chrome               200.0           0.02
    
    3

Chúng tôi khuyên bạn nên sử dụng các đối số từ khóa để làm rõ ý định của bạn.

Tạo một DataFrame với một số dữ liệu hư cấu.

>>> index = ['Firefox', 'Chrome', 'Safari', 'IE10', 'Konqueror']
>>> df = pd.DataFrame({'http_status': [200, 200, 404, 404, 301],
...                   'response_time': [0.04, 0.02, 0.07, 0.08, 1.0]},
...                   index=index)
>>> df
           http_status  response_time
Firefox            200           0.04
Chrome             200           0.02
Safari             404           0.07
IE10               404           0.08
Konqueror          301           1.00

Tạo một chỉ mục mới và tái tạo dữ liệu. Theo các giá trị mặc định trong chỉ mục mới không có các bản ghi tương ứng trong DataFrame được gán

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
4.

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02

Chúng ta có thể điền vào các giá trị bị thiếu bằng cách chuyển một giá trị cho từ khóa

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
5. Vì chỉ mục không tăng hoặc giảm đơn điệu, chúng tôi không thể sử dụng các đối số cho từ khóa
>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
6 để điền vào các giá trị
>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
4.

>>> df.reindex(new_index, fill_value=0)
               http_status  response_time
Safari                 404           0.07
Iceweasel                0           0.00
Comodo Dragon            0           0.00
IE10                   404           0.08
Chrome                 200           0.02

>>> df.reindex(new_index, fill_value='missing')
              http_status response_time
Safari                404          0.07
Iceweasel         missing       missing
Comodo Dragon     missing       missing
IE10                  404          0.08
Chrome                200          0.02

Chúng ta cũng có thể tái xuất các cột.

>>> df.reindex(columns=['http_status', 'user_agent'])
           http_status  user_agent
Firefox            200         NaN
Chrome             200         NaN
Safari             404         NaN
IE10               404         NaN
Konqueror          301         NaN

Hoặc chúng ta có thể sử dụng các đối số từ khóa theo phong cách trục

>>> df.reindex(['http_status', 'user_agent'], axis="columns")
           http_status  user_agent
Firefox            200         NaN
Chrome             200         NaN
Safari             404         NaN
IE10               404         NaN
Konqueror          301         NaN

Để minh họa rõ hơn chức năng điền vào

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
8, chúng tôi sẽ tạo một khung dữ liệu với chỉ số tăng đơn điệu (ví dụ: một chuỗi ngày).

>>> date_index = pd.date_range('1/1/2010', periods=6, freq='D')
>>> df2 = pd.DataFrame({"prices": [100, 101, np.nan, 100, 89, 88]},
...                    index=date_index)
>>> df2
            prices
2010-01-01   100.0
2010-01-02   101.0
2010-01-03     NaN
2010-01-04   100.0
2010-01-05    89.0
2010-01-06    88.0

Giả sử chúng tôi quyết định mở rộng DataFrame để bao gồm phạm vi ngày rộng hơn.

>>> date_index2 = pd.date_range('12/29/2009', periods=10, freq='D')
>>> df2.reindex(date_index2)
            prices
2009-12-29     NaN
2009-12-30     NaN
2009-12-31     NaN
2010-01-01   100.0
2010-01-02   101.0
2010-01-03     NaN
2010-01-04   100.0
2010-01-05    89.0
2010-01-06    88.0
2010-01-07     NaN

Các mục nhập chỉ mục không có giá trị trong khung dữ liệu gốc (ví dụ: ‘2009-12-29,) theo mặc định chứa đầy

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
4. Nếu muốn, chúng ta có thể điền vào các giá trị bị thiếu bằng một trong một số tùy chọn.

Ví dụ: để truyền lại giá trị hợp lệ cuối cùng để điền vào các giá trị

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
4, hãy truyền
>>> df.reindex(new_index, fill_value=0)
               http_status  response_time
Safari                 404           0.07
Iceweasel                0           0.00
Comodo Dragon            0           0.00
IE10                   404           0.08
Chrome                 200           0.02
1 làm đối số cho từ khóa
>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
6.

>>> df2.reindex(date_index2, method='bfill')
            prices
2009-12-29   100.0
2009-12-30   100.0
2009-12-31   100.0
2010-01-01   100.0
2010-01-02   101.0
2010-01-03     NaN
2010-01-04   100.0
2010-01-05    89.0
2010-01-06    88.0
2010-01-07     NaN

Xin lưu ý rằng giá trị

>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
4 có trong DataFrame gốc (tại Giá trị INDEX 2010-01-03) sẽ không được điền bởi bất kỳ sơ đồ truyền giá trị nào. Điều này là do điền trong khi tái hiện không xem xét các giá trị dữ liệu, mà chỉ so sánh các chỉ mục gốc và mong muốn. Nếu bạn muốn điền vào các giá trị
>>> new_index = ['Safari', 'Iceweasel', 'Comodo Dragon', 'IE10',
...              'Chrome']
>>> df.reindex(new_index)
               http_status  response_time
Safari               404.0           0.07
Iceweasel              NaN            NaN
Comodo Dragon          NaN            NaN
IE10                 404.0           0.08
Chrome               200.0           0.02
4 có trong DataFrame gốc, hãy sử dụng phương thức
>>> df.reindex(new_index, fill_value=0)
               http_status  response_time
Safari                 404           0.07
Iceweasel                0           0.00
Comodo Dragon            0           0.00
IE10                   404           0.08
Chrome                 200           0.02
5.

Xem Hướng dẫn sử dụng để biết thêm.user guide for more.

Reindex trong Python là gì?

REINDEX có nghĩa là phù hợp với dữ liệu để khớp với một bộ nhãn nhất định dọc theo một trục cụ thể.Nhiều hoạt động có thể được thực hiện thông qua việc lập chỉ mục như - sắp xếp lại dữ liệu hiện có để phù hợp với một bộ nhãn mới.Chèn các điểm đánh dấu giá trị bị thiếu (NA) trong các vị trí nhãn trong đó không có dữ liệu cho nhãn tồn tại.to conform the data to match a given set of labels along a particular axis. Multiple operations can be accomplished through indexing like − Reorder the existing data to match a new set of labels. Insert missing value (NA) markers in label locations where no data for the label existed.

Chức năng Reindex là gì?

Sự mô tả.Reindex xây dựng lại một chỉ mục bằng cách sử dụng dữ liệu được lưu trữ trong bảng của chỉ mục, thay thế bản sao cũ của chỉ mục.Có một số kịch bản để sử dụng Reindex: một chỉ mục đã bị hỏng và không còn chứa dữ liệu hợp lệ.rebuilds an index using the data stored in the index's table, replacing the old copy of the index. There are several scenarios in which to use REINDEX : An index has become corrupted, and no longer contains valid data.