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ộtdf_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 chiếu đến 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']
2df_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]
0df_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]
1Tập thể dục
Điều gì xảy ra nếu bạn
- 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?
- Đặt cùng một tên cột trong hai lần?
- Đặt tên cột không tồn tại? . k. một lỗi đánh máy]
Dung dịch
2df_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]
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ầudf_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]
6Tập thể dục
Đ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?
Dung dịch
7df_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]
Bạn gặp lỗi nếu chỉ xác định
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ể sử dụng chính[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[1286, 6] Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object'] Index[['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups'], dtype='object']
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]
0Cá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]
1Ta 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]
2Việ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]
3Sử 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ôiTuy 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ệudf_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]
4Bạ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ộtdf_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]
5Ngoài ra còn có một phương thức
# 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ộtdf_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]
6Lấy mẫu
Pandas có phương thức
# 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ừ Dataframedf_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]
7Những điểm chính
Nhập các cột cụ thể khi đọc trong một. csv với tham số
9df_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]
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
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 nhận các hàng có nhãn cụ thể và tại các vị trí số nguyên cụ thể tương ứng# Both of these statements are the same print[df_SN7577['Q1']] # and print[df_SN7577.Q1]