Cách sao chép các cột cụ thể trong excel bằng Python

nhập sổ làm việc xlsxwriter = xlsxwriter. Sổ làm việc ['write_list. xlsx'] trang tính = sổ làm việc. add_worksheet[] my_list = [[1, 1, 1, 1, 1], [2, 2, 2, 2, 1], [3, 3, 3, 3, 1], [4, 4, 4, 4 . cho col_num, col_data trong liệt kê [row_data]. bảng tính. sổ làm việc write[row_num, col_num, col_data]. đóng[]

Chúng tôi sẽ tiếp tục tập này từ nơi chúng tôi đã dừng lại trong tập trước. Nếu bạn đã khởi động lại Jupyter hoặc bạn muốn sử dụng sổ ghi chép mới, hãy đảm bảo rằng bạn đã nhập pandas và đã đọc SN7577. tập dữ liệu tab vào Dataframe

import pandas as pd
df_SN7577 = pd.read_csv["SN7577.tab", sep='\t']

Chọn các hàng và cột từ Dataframe gấu trúc

Nếu chúng tôi biết những cột nào chúng tôi muốn trước khi đọc dữ liệu từ tệp, chúng tôi có thể yêu cầu

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
8 chỉ nhập các cột đó bằng cách chỉ định các cột theo số chỉ mục của chúng [bắt đầu từ 0] dưới dạng danh sách cho tham số
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
9. Ngoài ra, chúng tôi cũng có thể cung cấp danh sách tên cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]

[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']

Bây giờ chúng ta hãy giả sử rằng chúng ta đã đọc trong tệp hoàn chỉnh hiện có trong Dataframe

[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
0, làm thế nào bây giờ chúng ta có thể tham khảo các cột cụ thể?

Có hai cách để thực hiện việc này bằng cách sử dụng tên cột [hoặc nhãn]

# Both of these statements are the same
print[df_SN7577['Q1']]
# and
print[df_SN7577.Q1]

0        1
1        3
2       10
3        9
...

Nếu chúng tôi quan tâm đến nhiều cột, phương pháp thứ 2 ở trên không thể được sử dụng. Tuy nhiên, trong lần đầu tiên, mặc dù chúng tôi đã sử dụng một chuỗi có giá trị là

[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
1 nhưng chúng tôi cũng có thể cung cấp một danh sách các chuỗi. Hãy nhớ rằng các danh sách được đính kèm trong
[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
2

print[df_SN7577[['Q1', 'Q2', 'Q3']]]

Q1  Q2  Q3
0      1  -1   1
1      3  -1   1
2     10   3   2
3      9  -1  10
...

Bài tập

Điều gì xảy ra nếu bạn

  1. Liệt kê các cột bạn muốn sắp xếp theo thứ tự chúng xuất hiện trong tệp?
  2. Đặt cùng một tên cột trong hai lần?
  3. Đặt tên cột không tồn tại? . k. một lỗi đánh máy]

Giải pháp

print[df_SN7577[['Q3', 'Q2']]]
print[df_SN7577[['Q3', 'Q2', 'Q3']]]
print[df_SN7577[['Q33', 'Q2']]]

Lọc theo hàng

Bạn có thể lọc Khung dữ liệu theo hàng bằng cách chỉ định một phạm vi ở dạng

[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
3.
[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
4 là hàng đầu tiên và
[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
5 là hàng ngoài hàng cuối cùng được yêu cầu

# select row with index of 1, 2 and 3 [rows 2, 3 and 4 in the Dataframe]
df_SN7577_some_rows = df_SN7577[1:4]
df_SN7577_some_rows

Bài tập

Điều gì xảy ra nếu chúng tôi yêu cầu một hàng thay vì một phạm vi?

Giải pháp

df_SN7577[1]

Bạn gặp lỗi nếu chỉ xác định

[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
6. Bạn cần sử dụng
[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
7 hoặc
[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
8 để trả về hàng đầu tiên.
[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
9 luôn được yêu cầu. Bạn có thể tự sử dụng
[1286, 6]
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
9 để trả về tất cả các hàng

Sử dụng tiêu chí để lọc hàng

Có nhiều khả năng bạn sẽ muốn chọn các hàng từ Khung dữ liệu dựa trên một số tiêu chí, chẳng hạn như “tất cả các hàng có giá trị cho Q2 là -1”

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
0

Các tiêu chí có thể phức tạp hơn và không giới hạn ở các giá trị của một cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
1

Ta có thể kết hợp chọn hàng với chọn cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
2

Việc chọn các hàng trên chỉ mục hàng được sử dụng hạn chế trừ khi bạn cần chọn một phạm vi hàng liền kề

Tuy nhiên, có một cách khác để chọn hàng bằng cách sử dụng chỉ mục hàng

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
3

Sử dụng phương pháp

# Both of these statements are the same
print[df_SN7577['Q1']]
# and
print[df_SN7577.Q1]
1 cho kết quả giống như ví dụ trước của chúng tôi

Tuy nhiên, bây giờ chúng ta có thể chỉ định một giá trị duy nhất và quan trọng hơn là chúng ta có thể sử dụng hàm

# Both of these statements are the same
print[df_SN7577['Q1']]
# and
print[df_SN7577.Q1]
2 để chỉ ra các bản ghi mà chúng ta muốn. Điều này có thể hữu ích để thực hiện các lựa chọn giả ngẫu nhiên của các hàng từ khắp Khung dữ liệu

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
4

Bạn cũng có thể chỉ định phạm vi cột bằng cách sử dụng lại phương pháp

# Both of these statements are the same
print[df_SN7577['Q1']]
# and
print[df_SN7577.Q1]
1 bằng cách sử dụng số chỉ mục cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
5

Ngoài ra còn có một phương pháp

# Both of these statements are the same
print[df_SN7577['Q1']]
# and
print[df_SN7577.Q1]
4 cho phép bạn sử dụng các tên cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
6

Lấy mẫu

Pandas có phương pháp

# Both of these statements are the same
print[df_SN7577['Q1']]
# and
print[df_SN7577.Q1]
5 cho phép bạn trích xuất một mẫu bản ghi từ Dataframe

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
7

Những điểm chính

  • Nhập các cột cụ thể khi đọc trong một. csv với tham số

    df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
    print[df_SN7577_some_cols.shape]
    print[df_SN7577_some_cols.columns]
    df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
    print[df_SN7577_some_cols.columns]
    
    9

  • Chúng ta có thể dễ dàng xâu chuỗi các điều kiện boolean khi lọc các hàng của khung dữ liệu gấu trúc

  • Các phương thức

    # Both of these statements are the same
    print[df_SN7577['Q1']]
    # and
    print[df_SN7577.Q1]
    
    4 và
    # Both of these statements are the same
    print[df_SN7577['Q1']]
    # and
    print[df_SN7577.Q1]
    
    1 cho phép chúng tôi lấy các hàng có nhãn cụ thể và tại các vị trí số nguyên cụ thể tương ứng

    Làm cách nào để đọc một cột cụ thể từ excel trong Python?

    Khi chúng tôi sử dụng mô-đun pandas để đọc tệp Excel bằng phương thức read_excel, chúng tôi cũng có thể đọc các cột cụ thể trong tệp đó. Để đọc các cột cụ thể, chúng ta cần sử dụng tham số usecols trong phương thức read_excel .

    Làm cách nào để trích xuất dữ liệu cụ thể từ excel trong Python?

    Trích xuất dữ liệu từ tệp Excel .
    Chuyển đổi tệp Excel sang CSV
    Cài đặt openpyxl
    Mở một tệp Excel
    Truy cập dữ liệu trong một Worksheet
    Truy cập dữ liệu từ các ô
    Trích xuất dữ liệu từ các ô cụ thể
    tái cấu trúc
    Đọc thêm

    Làm cách nào để sao chép một cột từ trang tính excel này sang trang tính excel khác bằng Python?

    Thủ tục. .
    1] Nhập thư viện openpyxl dưới dạng xl
    2] Mở tệp excel nguồn bằng đường dẫn chứa tệp đó. .
    3] Mở trang tính cần sao chép bằng chỉ mục của nó. .
    4] Mở tệp excel đích và bảng tính đang hoạt động trong đó
    5] Tính tổng số hàng, số cột trong file excel nguồn

Chủ Đề