Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách thêm list làm hàng vào Pandas DataFrame trong Python?

Để thêm list, ta dùng phương thức append(). Cũng có thể dùng loc().

Nhập thư viện:

import pandas as pd

Dữ liệu xếp hạng đội:

Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
        ['New Zealand', 4, 65], ['South Africa', 5, 50]]

Tạo DataFrame thêm cột:

dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])

Hàng cần thêm:

myList = [["Sri Lanka", 6, 40]]

Thêm hàng dùng append():

dataFrame = dataFrame.append(pd.DataFrame(myList, columns=['Country', 'Rank', 'Points']), ignore_index=True)

Ví dụ 1: Dùng append()

import pandas as pd

Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
        ['New Zealand', 4, 65], ['South Africa', 5, 50]]

dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
print("DataFrame...\n", dataFrame)

myList = [["Sri Lanka", 6, 40]]
dataFrame = dataFrame.append(pd.DataFrame(myList, columns=['Country', 'Rank', 'Points']), ignore_index=True)

print("\nUpdated DataFrame after appending a row...\n", dataFrame)

Đầu ra 1

DataFrame...
       Country  Rank  Points
0        India     1     100
1    Australia     2      85
2      England     3      75
3  New Zealand     4      65
4  South Africa     5      50

Updated DataFrame after appending a row...
       Country  Rank  Points
0        India     1     100
1    Australia     2      85
2      England     3      75
3  New Zealand     4      65
4  South Africa     5      50
5    Sri Lanka     6      40

Ví dụ 2: Dùng loc()

import pandas as pd

Team = [['India', 1, 100], ['Australia', 2, 85], ['England', 3, 75],
        ['New Zealand', 4, 65], ['South Africa', 5, 50], ['Bangladesh', 6, 40]]

dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
print("DataFrame...\n", dataFrame)

myList = ["Sri Lanka", 7, 30]
dataFrame.loc[len(dataFrame)] = myList

print("\nUpdated DataFrame after appending a row using loc...\n", dataFrame)

Đầu ra 2

DataFrame...
       Country  Rank  Points
0        India     1     100
1    Australia     2      85
2      England     3      75
3  New Zealand     4      65
4  South Africa     5      50
5  Bangladesh     6      40

Updated DataFrame after appending a row using loc...
       Country  Rank  Points
0        India     1     100
1    Australia     2      85
2      England     3      75
3  New Zealand     4      65
4  South Africa     5      50
5  Bangladesh     6      40
6    Sri Lanka     7      30

Lưu ý: append() đã deprecated từ Pandas 1.4.0. Khuyến nghị dùng pd.concat() hoặc loc.