Hướng dẫn nested list in dataframe python - danh sách lồng nhau trong dataframe python

Một cách để làm điều này là lấy tên cột làm danh sách riêng và sau đó chỉ đưa ra từ chỉ số 1 cho pd.DataFrame -

In [8]: data = [['Name','Rank','Complete'],
   ...:                ['one', 1, 1],
   ...:                ['two', 2, 1],
   ...:                ['three', 3, 1],
   ...:                ['four', 4, 1],
   ...:                ['five', 5, 1]]

In [10]: df = pd.DataFrame(data[1:],columns=data[0])

In [11]: df
Out[11]:
    Name  Rank  Complete
0    one     1         1
1    two     2         1
2  three     3         1
3   four     4         1
4   five     5         1

Nếu bạn muốn đặt cột đầu tiên Name làm chỉ mục, hãy sử dụng phương thức .set_index() và gửi cột để sử dụng cho chỉ mục. Thí dụ -

In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')

In [17]: df
Out[17]:
       Rank  Complete
Name
one       1         1
two       2         1
three     3         1
four      4         1
five      5         1

Danh sách lồng nhau để liệt kê trong Python

Danh sách lồng nhau trong Python có thể được chuyển đổi thành một danh sách phẳng trong Python chỉ bằng ba dòng mã. Chúng ta hãy giả sử rằng bạn có một danh sách lồng nhau sau.

[1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]

Bây giờ, danh sách trên là một danh sách lồng nhau với nhiều cấp độ và chúng tôi muốn chuyển đổi nó thành danh sách bằng cách sử dụng Python:-

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Danh sách lồng nhau vào Danh sách - Python - Cách dài hơn

Trước hết, tôi sẽ chỉ cho bạn một cách dài hơn, mà không cần sử dụng bất kỳ mô-đun bên thứ ba nào. Để chuyển đổi danh sách lồng nhau thành danh sách phẳng, chúng tôi sẽ sử dụng mã sau:-

flat_list = []

def flatten_list(input_list):

    for item in input_list:
        if type(item) == list:
            flatten_list(item)
        else:
            flat_list.append(item)
    return flat_list

print(flatten_list(nested_list))

# output

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Danh sách lồng nhau chỉ trong ba dòng mã

Đó là cách dài hơn. Bây giờ chúng tôi sẽ sử dụng chức năng phẳng của Pandas, từ pandas.core.common để làm tương tự chỉ trong ba dòng mã.

from pandas.core.common import flatten

nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]

print(list(flatten(nested_list)))

# Output

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Nếu bạn thích hướng dẫn của chúng tôi, có nhiều cách khác nhau để hỗ trợ chúng tôi, dễ nhất là chia sẻ bài đăng này. Bạn cũng có thể theo dõi chúng tôi trên Facebook, Twitter và YouTube.

Trong trường hợp của bất kỳ truy vấn nào, bạn có thể để lại nhận xét bên dưới.

Bạn có thể hỗ trợ chúng tôi thông qua Patreon

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Danh sách sáng tạo

    Danh sách trong R có thể được tạo bằng hàm Danh sách ().

    Cú pháp: Danh sách (Element1, Element2, Element3, Mạnh.)list(element1, element2, element3,….)

    Tạo dữ liệu

    DataFrames trong r được tạo bằng hàm data.frame ().

    Cú pháp: data.frame (cột1 = value, cột2 = giá trị, trên mạng.)data.frame(column1=values, column2=values,….)

    Chuyển đổi khung dữ liệu thành danh sách

    Trong lập trình R, không có chức năng trực tiếp nào chuyển đổi khung dữ liệu thành liệt kê, vì vậy chúng ta cần chuyển đổi nó bằng cách sử dụng vòng lặp và mã cho điều đó được đưa ra dưới đây.

    R

    df<-

    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    0
    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    1

    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    2
    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    3
    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    4
    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    5

    Các

    flat_list = []
    
    def flatten_list(input_list):
    
        for item in input_list:
            if type(item) == list:
                flatten_list(item)
            else:
                flat_list.append(item)
        return flat_list
    
    print(flatten_list(nested_list))
    
    # output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    9

    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    1
    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    2
    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    3

    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    4
    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    5
    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    6
    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    7

    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    8
    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    1pd.DataFrame0pd.DataFrame1
    from pandas.core.common import flatten
    
    nested_list = [1, 2, [3, 4, [5, 6]], 7, 8, [9, [10]]]
    
    print(list(flatten(nested_list)))
    
    # Output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    2pd.DataFrame3

    pd.DataFrame4

    pd.DataFrame5

    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    1pd.DataFrame7
    flat_list = []
    
    def flatten_list(input_list):
    
        for item in input_list:
            if type(item) == list:
                flatten_list(item)
            else:
                flat_list.append(item)
        return flat_list
    
    print(flatten_list(nested_list))
    
    # output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    9

    pd.DataFrame5Name0

    pd.DataFrame5

    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    1Name3
    flat_list = []
    
    def flatten_list(input_list):
    
        for item in input_list:
            if type(item) == list:
                flatten_list(item)
            else:
                flat_list.append(item)
        return flat_list
    
    print(flatten_list(nested_list))
    
    # output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    9

    pd.DataFrame5

    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    1Name7Name8

    pd.DataFrame5

    In [16]: df = pd.DataFrame(data[1:],columns=data[0]).set_index('Name')
    
    In [17]: df
    Out[17]:
           Rank  Complete
    Name
    one       1         1
    two       2         1
    three     3         1
    four      4         1
    five      5         1
    
    1.set_index()1
    flat_list = []
    
    def flatten_list(input_list):
    
        for item in input_list:
            if type(item) == list:
                flatten_list(item)
            else:
                flat_list.append(item)
        return flat_list
    
    print(flatten_list(nested_list))
    
    # output
    
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    9

    pd.DataFrame5.set_index()4

    Output:

    Explanation:

    Như trong chương trình R, không có chức năng được xây dựng để chuyển đổi khung dữ liệu thành danh sách, sau đây là các bước để chuyển đổi

    • & nbsp; Lúc đầu, chúng tôi đã tạo một khung dữ liệu mẫu (DF) và một danh sách trống (nested_list) & nbsp;
    • & nbsp; Sau này bằng cách sử dụng cho vòng lặp, chúng tôi đã truy cập các cột của khung dữ liệu và thêm nó vào danh sách trống được tạo.
    • & nbsp; Để kiểm tra loại biến Nested_list, chúng tôi đã sử dụng hàm typeOf () trong r [ngay cả đối với danh sách lồng nhau trong r loại dữ liệu của nó chỉ là danh sách để đầu ra được trả về là loại danh sách.
    • & nbsp; cuối cùng đã in danh sách lồng nhau được tạo.

    Làm thế nào để bạn tạo một danh sách lồng nhau một DataFrame trong Python?

    Làm thế nào để tạo một DataFrame từ các danh sách trong Pandas..
    Xác định dữ liệu đầu vào.Danh sách phẳng.danh sách lồng nhau.Quyền của danh sách ..
    Xác định tên cột ..
    Xác định chỉ mục - tên hàng ..
    Gọi hàm tạo dataFrame ..

    Làm thế nào để tôi lập một danh sách lồng nhau trong Python?

    # Tạo danh sách ..
    nestedList = [1, 2, ['a', 1], 3].
    # Danh sách lập chỉ mục: Người đăng ký hiện đã được truy cập ..
    Sublist = nestedList [2].
    # Truy cập phần tử đầu tiên bên trong danh sách bên trong:.
    phần tử = nestedList [2] [0].

    Làm thế nào để bạn xác định một danh sách lồng nhau?

    Vì vậy, đơn giản, khi có một danh sách chứa một danh sách bên trong chính nó dưới dạng một phần tử (tua lại) hoặc dữ liệu, thì danh sách đó được gọi là danh sách lồng nhau.when there is a list containing a list inside itself as an element(sublist) or data, then that list is known as a nested list.

    Làm cách nào để tạo một danh sách bùng nổ?

    Khám phá các loại danh sách bao gồm danh sách, bộ dữ liệu, sê-ri và NP.ndarray.Hàm nổ () được sử dụng để chuyển đổi từng phần tử của một danh sách thành một hàng, sao chép các giá trị chỉ mục.Trả về: Danh sách phát nổ loạt cho các hàng;Chỉ mục sẽ được nhân đôi cho các hàng này.The explode() function is used to transform each element of a list-like to a row, replicating the index values. Returns: Series- Exploded lists to rows; index will be duplicated for these rows.