Hướng dẫn how do you slice a column in a dataframe in python? - làm thế nào để bạn cắt một cột trong khung dữ liệu trong python?

2017 Trả lời - Pandas 0,20: .IX không được dùng. Sử dụng .Loc

Xem sự phản đối trong tài liệu

# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
2 sử dụng lập chỉ mục dựa trên nhãn để chọn cả hàng và cột. Các nhãn là các giá trị của chỉ mục hoặc các cột. Cắt với
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
2 bao gồm yếu tố cuối cùng.

Giả sử chúng ta có khung dữ liệu với các cột sau:

# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
4,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
5,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
6,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
7,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
8,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
9,
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
0.
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
4,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
5,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
6,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
7,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
8,
# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
9,
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
0.

# selects all rows and all columns beginning at 'foo' up to and including 'sat'
df.loc[:, 'foo':'sat']
# foo bar quz ant cat sat

# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
2 chấp nhận cùng một ký hiệu lát cắt mà danh sách Python làm cho cả hàng và cột. Ký hiệu lát cắt là
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
2

# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat

Bạn có thể cắt theo hàng và cột. Chẳng hạn, nếu bạn có 5 hàng có nhãn

# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
3,
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
4,
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
5,
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
6,
# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y
7

# slice from 'w' to 'y' and 'foo' to 'ant' by 3
df.loc['w':'y', 'foo':'ant':3]
#    foo ant
# w
# x
# y

Một khung dữ liệu trong gấu trúc là cấu trúc dữ liệu 2 chiều, được dán nhãn tương tự như bảng SQL hoặc bảng tính với các cột và hàng. Mỗi cột của DataFrame có thể chứa các loại dữ liệu khác nhau.

Pandas DataFrame Syntax bao gồm các chức năng của Loc Loc và và ILOC, ví dụ: & NBSP; data_frame.loc [] và data_frame.iloc []. Cả hai chức năng đều được sử dụng để truy cập các hàng và/hoặc các cột, trong đó, Loc Loc được truy cập bằng nhãn và của IL ILOC là để truy cập theo vị trí, tức là các chỉ số số. & NBSP;data_frame.loc[ ] and data_frame.iloc[ ]. Both functions are used to access rows and/or columns, where “loc” is for access by labels and “iloc” is for access by position, i.e. numerical indices. 

Cắt một dataFrame trong gấu trúc bao gồm các bước sau:

    1. Đảm bảo Python được cài đặt (hoặc cài đặt ActivePython)ActivePython)
    2. Nhập bộ dữ liệu
    3. Tạo một DataFrame
    4. Cắt lát dữ liệu

Lưu ý: Có thể xem video trình diễn ở đây

#1 Kiểm tra phiên bản của gấu trúc

Để xem liệu Python và Pandas có được cài đặt chính xác không, hãy mở một trình thông dịch Python và nhập như sau:

>> import pandas as pd

>> pd.__version__

Bạn sẽ thấy một cái gì đó tương tự như:

>> 0.22.0

#2 Nhập dữ liệu được đặt vào Python

Một trong những hoạt động phổ biến nhất mà mọi người sử dụng với gấu trúc là đọc một số loại dữ liệu, như tệp CSV, tệp Excel, bảng SQL hoặc tệp JSON. Ví dụ: để đọc tệp CSV, bạn sẽ nhập như sau:

data_frame = pd.read_csv("name_of_the_file.csv")

Ví dụ của chúng tôi, chúng tôi sẽ đọc trong một tệp CSV (Lớp.csv) có chứa thông tin lớp học để tạo báo cáo_card dataFrame:

Hướng dẫn how do you slice a column in a dataframe in python? - làm thế nào để bạn cắt một cột trong khung dữ liệu trong python?

Ở đây chúng tôi sử dụng tham số read read_csv. Các loại dữ liệu khác sẽ sử dụng các tham số chức năng đọc tương ứng của chúng. & NBSP;read function parameters

#3 Tạo DataFrame

Bên cạnh việc tạo một dataFrame bằng cách đọc một tệp, bạn cũng có thể tạo một bản thông qua loạt gấu trúc. Sê -ri là một mảng gấu trúc được dán nhãn một chiều có thể chứa bất kỳ loại dữ liệu nào, thậm chí là NAN (không phải là một số), được sử dụng để chỉ định dữ liệu bị thiếu. Hãy để tạo ra một khung dữ liệu nhỏ, bao gồm các lớp của một học sinh trung học:

classes = pd.Series(["Mathematics","Chemistry","Physics","History","Geography","German"])

grades  = pd.Series([90,54,77,22,25])


pd.DataFrame({"Classes": classes, "Grades": grades})

Kết quả sẽ trông giống như:

Hướng dẫn how do you slice a column in a dataframe in python? - làm thế nào để bạn cắt một cột trong khung dữ liệu trong python?

Ngoài thực tế là học sinh ví dụ của chúng tôi có các lớp khá tệ cho các lớp học lịch sử và địa lý, chúng ta có thể thấy rằng Pandas đã tự động điền vào dữ liệu lớp bị thiếu cho khóa học Đức với Hồi NAN.

#4 Cắt một khung dữ liệu

Đôi khi tạo ra một loạt đơn giản không hoàn thành mục tiêu của chúng tôi. Đối với các hoạt động phức tạp hơn, Pandas cung cấp việc cắt DataFrame bằng cách sử dụng các chức năng của Loc Loc và ILOC. Ví dụ, hãy nói với cha mẹ của Benjamin, muốn tìm hiểu thêm về hiệu suất của con trai họ tại trường. Họ muốn xem các bài giảng của con trai họ, điểm số cho các bài giảng này, # các khoản tín dụng kiếm được, và cuối cùng nếu con trai của họ sẽ cần phải kiểm tra lại. Chúng ta chỉ có thể cắt các dữ liệu được tạo với tệp grades.csv và trích xuất thông tin cần thiết chúng ta cần. Ví dụ:

Grades = 

Report_Card.loc[(Report_Card["Name"] == "Benjamin Duran"),  

               ["Lectures","Grades","Credits","Retake"]]

Điều này có thể trông phức tạp ngay từ cái nhìn đầu tiên nhưng nó khá đơn giản. Trong trường hợp này, chúng tôi đang sử dụng hàm loc [a, b] theo cách tương tự trong đó chúng tôi thường cắt một mảng python đa chiều. & Nbsp;loc[a,b] in exactly the same manner in which we would normally slice a multidimensional Python array. 

Đối với giá trị A, chúng tôi đang so sánh nội dung của cột tên của báo cáo_card với Benjamin Duran, trả lại cho chúng tôi một loạt các giá trị Boolean. Chúng tôi có thể sử dụng một chuỗi với các giá trị boolean để lập chỉ mục DataFrame, trong đó các chỉ số có giá trị True True sẽ được chọn và sẽ bị bỏ qua. & NBSP;a value, we are comparing the contents of the Name column of Report_Card with Benjamin Duran which returns us a Series object of Boolean values. We are able to use a Series with Boolean values to index a DataFrame, where indices having value “True” will be picked and “False” will be ignored. 

Đối với giá trị B, chúng tôi chỉ chấp nhận các tên cột được liệt kê. Do đó, chúng tôi nhận được DataFrame sau:b value, we accept only the column names listed. Thus we get the following DataFrame:

Hướng dẫn how do you slice a column in a dataframe in python? - làm thế nào để bạn cắt một cột trong khung dữ liệu trong python?

Chúng ta cũng có thể cắt DataFrame được tạo với tệp Lớp.csv bằng hàm ILOC [A, B], chỉ chấp nhận số nguyên cho các giá trị A và B. Trong trường hợp này, chúng tôi có thể kiểm tra các lớp Sofia bằng cách chạy:iloc[a,b] function, which only accepts integers for the a and b values. In this case, we can examine Sofia’s grades by running:

Sofia_Grades = Report_Card.iloc[6:12,2:]

or else:

Sofia_Grades = Report_Card.iloc[[6,7,8,9,10,11],[2,3,4,5]]

Both of the above code snippets result in the following DataFrame:

Hướng dẫn how do you slice a column in a dataframe in python? - làm thế nào để bạn cắt một cột trong khung dữ liệu trong python?

Trong dòng mã đầu tiên, chúng tôi đang sử dụng cú pháp cắt python tiêu chuẩn: ILOC [A, B] trong đó A, trong trường hợp này, là 6:12 cho biết một phạm vi hàng từ 6 đến 11. Khi chỉ định một phạm vi với ILOC , bạn luôn chỉ định từ hàng đầu tiên hoặc cột yêu cầu (6) đến hàng cuối cùng hoặc cột yêu cầu+1 (12). Như bạn có thể thấy trong nhập khẩu ban đầu của các lớp.csv, tất cả các hàng được đánh số từ 0 đến 17, với các hàng từ 6 đến 11 cung cấp các lớp Sofia. Đây là kết quả chúng ta thấy trong DataFrame. & NBSP;iloc[a,b] where a, in this case, is 6:12 which indicates a range of rows from 6 to 11. When specifying a range with iloc, you always specify from the first row or column required (6) to the last row or column required+1 (12). As you can see in the original import of grades.csv, all the rows are numbered from 0 to 17, with rows 6 through 11 providing Sofia’s grades. This is the result we see in the DataFrame. 

Đối với đối số B, thay vì chỉ định tên của từng cột chúng tôi muốn như chúng tôi đã làm với LỘC, lần này chúng tôi đang sử dụng các vị trí số của chúng. Do đó, chúng tôi chỉ định (2 :), chỉ ra rằng chúng tôi muốn tất cả các cột bắt đầu từ vị trí 2 (ví dụ, các bài giảng, trong đó cột 0 là tên và cột 1 là lớp). Như được hiển thị trong DataFrame đầu ra, chúng tôi có các bài giảng, lớp, tín dụng và cột Retake được đặt trong các cột thứ 2, 3, 4 và 5.b argument, instead of specifying the names of each of the columns we want as we did with loc, this time we are using their numerical positions. Hence we specify (2:), which indicates that we want all the columns starting from position 2 (ie., Lectures, where column 0 is Name, and column 1 is Class). As shown in the output DataFrame, we have the Lectures, Grades, Credits and Retake columns which are located in the 2nd, 3rd, 4th and 5th columns.

Cuối cùng, ILOC [A, B] cũng có thể chấp nhận các mảng số nguyên dưới dạng A và B, đó chính xác là lý do tại sao ví dụ ILOC thứ hai của chúng tôi:iloc[a,b] can also accept integer arrays as a and b, which is exactly why our second iloc example:

Sofia_Grades = Report_Card.iloc[[6,7,8,9,10,11],[2,3,4,5]]

Sản xuất cùng một khung dữ liệu như ví dụ đầu tiên:

# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
0

Phương pháp này có thể hữu ích khi tạo các mảng các chỉ số thông qua các chức năng hoặc nhận chúng dưới dạng đối số.

Lưu ý: Điều quan trọng cần lưu ý là thứ tự của các chỉ số thay đổi thứ tự của các hàng và cột trong khung dữ liệu cuối cùng. Nếu chúng ta chạy mã sau:

# slice from 'foo' to 'cat' by every 2nd column
df.loc[:, 'foo':'cat':2]
# foo quz cat

# slice from the beginning to 'bar'
df.loc[:, :'bar']
# foo bar

# slice from 'quz' to the end by 3
df.loc[:, 'quz'::3]
# quz sat

# attempt from 'sat' to 'bar'
df.loc[:, 'sat':'bar']
# no columns returned

# slice from 'sat' to 'bar'
df.loc[:, 'sat':'bar':-1]
sat cat ant quz bar

# slice notation is syntatic sugar for the slice function
# slice from 'quz' to the end by 2 with slice function
df.loc[:, slice('quz',None, 2)]
# quz cat dat

# select specific columns with a list
# select columns foo, bar and dat
df.loc[:, ['foo','bar','dat']]
# foo bar dat
1

Kết quả là DataFrame sau, hiển thị các chỉ số hàng theo các số trong các mảng Indice mà chúng tôi đã cung cấp:

Hướng dẫn how do you slice a column in a dataframe in python? - làm thế nào để bạn cắt một cột trong khung dữ liệu trong python?

Xem video trình diễn để thực hành các bước được giải thích trong hướng dẫn Python này

Python cho khoa học dữ liệu

Được đóng gói trước với các gói mà các nhà khoa học dữ liệu quan trọng nhất cần, ActivePython được biên dịch sẵn để bạn và nhóm của bạn không phải lãng phí thời gian để cấu hình phân phối nguồn mở. Bạn có thể tập trung vào những gì mà các thuật toán xây dựng thời gian và các mô hình dự đoán quan trọng hơn của cộng đồng đối với các nguồn dữ liệu lớn của bạn và ít thời gian hơn trên cấu hình hệ thống.

Một số gói Python phổ biến cho Khoa học dữ liệu/Dữ liệu lớn/Máy học Bạn được biên dịch sẵn-với ActivePython

  • gấu trúc & nbsp; (phân tích dữ liệu)(data analysis)
  • Numpy & nbsp; (Mảng đa chiều) (multi-dimensional arrays)
  • Scipy & nbsp; (thuật toán để sử dụng với Numpy) (algorithms to use with numpy)
  • HDF5 & NBSP; (Lưu trữ & Thao tác dữ liệu) (store & manipulate data)
  • Matplotlib & nbsp; (trực quan hóa dữ liệu) (data visualization)
  • Jupyter & NBSP; (Hợp tác nghiên cứu) (research collaboration)
  • Pytables & nbsp; (quản lý bộ dữ liệu HDF5) (managing HDF5 datasets)
  • HDFS & NBSP; (Vòng bao C/C ++ cho Hadoop) (C/C++ wrapper for Hadoop)
  • Pymongo & nbsp; (Người lái xe MongoDB) (MongoDB driver)
  • SQLALCHEMY & NBSP; (Bộ công cụ Python SQL) (Python SQL Toolkit)

Với nguồn gốc sâu thẳm trong nguồn mở, và là thành viên sáng lập của Quỹ Python, Activeestate đã tích cực đóng góp cho cộng đồng Python. Chúng tôi cung cấp sự tiện lợi, bảo mật và hỗ trợ mà doanh nghiệp của bạn cần trong khi tương thích với phân phối nguồn mở của Python.

Tải xuống ActiveState Python để bắt đầu hoặc liên hệ với chúng tôi để tìm hiểu thêm về việc sử dụng Python ActiveState trong tổ chức của bạn. to get started or contact us to learn more about using ActiveState Python in your organization.

Bạn cũng có thể bắt đầu bằng cách thử thời gian chạy ML mini của chúng tôi cho & nbsp; Linux & nbsp; hoặc & nbsp; Windows & nbsp; bao gồm hầu hết các gói phổ biến cho khoa học máy và khoa học dữ liệu, được biên dịch sẵn và sẵn sàng sử dụng trong các dự án từ động cơ khuyến nghị đến bảng điều khiển.

Làm thế nào để bạn cắt một cột trong Python?

Bạn có thể chọn một loạt các hàng hoặc cột bằng cách sử dụng nhãn hoặc theo vị trí. Để cắt theo nhãn, bạn sử dụng thuộc tính LỘC của DataFrame ...
Lát hàng theo nhãn. df.loc [1: 3,:] ....
Cột cắt theo nhãn. df.loc [:, "b": "d"] ....
Lát hàng và cột theo nhãn ..

Làm thế nào để bạn cắt các hàng và cột trong gấu trúc?

Mỗi cột của DataFrame có thể chứa các loại dữ liệu khác nhau.Pandas DataFrame Cú pháp bao gồm các chức năng của Loc Loc và và ILOC, ví dụ: Data_Frame ...
Đảm bảo Python được cài đặt (hoặc cài đặt ActivePython).
Nhập bộ dữ liệu ..
Tạo một khung dữ liệu ..
Cắt dataframe ..

Làm thế nào để chúng ta cắt các hàng trong khung dữ liệu gấu trúc?

Cắt các hàng và cột theo vị trí chỉ mục Khi cắt theo vị trí chỉ mục trong gấu trúc, chỉ mục bắt đầu được bao gồm trong đầu ra, nhưng chỉ mục dừng là một bước ngoài hàng bạn muốn chọn.Vì vậy, lát cắt lại hàng 0 và hàng 1, nhưng không trả về hàng 2. Đụ thứ hai [:] chỉ ra rằng tất cả các cột là bắt buộc.When slicing by index position in Pandas, the start index is included in the output, but the stop index is one step beyond the row you want to select. So the slice return row 0 and row 1, but does not return row 2. The second slice [:] indicates that all columns are required.

Làm cách nào để cắt hai cột trong gấu trúc?

Có ba phương pháp cơ bản bạn có thể sử dụng để chọn nhiều cột của Pandas DataFrame:..
Phương pháp 1: Chọn cột theo chỉ mục df_new = df.ILOC [:, [0,1,3]].
Phương pháp 2: Chọn các cột trong phạm vi chỉ mục df_new = df.ILOC [:, 0: 3].
Phương pháp 3: Chọn các cột theo tên df_new = df [['col1', 'col2']].