Python có bỏ qua các dòng trống không?

Điều này thường không sao, vì tập dữ liệu có thể rất lớn và việc xóa một vài hàng sẽ không ảnh hưởng lớn đến kết quả

Thí dụ

Trả về Khung dữ liệu mới không có ô trống

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

new_df = df. dropna[]

in [new_df. to_string[]]

Tự mình thử »

Ghi chú. Theo mặc định, phương thức

>>> for item in something:
..     
...
5 trả về một DataFrame mới và sẽ không thay đổi khung gốc

Nếu bạn muốn thay đổi DataFrame ban đầu, hãy sử dụng đối số

>>> for item in something:
..     
...
6

Thí dụ

Xóa tất cả các hàng có giá trị NULL

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

df. dropna [tại chỗ = True]

in [df. to_string[]]

Tự mình thử »

Ghi chú. Bây giờ,

>>> for item in something:
..     
...
7 sẽ KHÔNG trả về Khung dữ liệu mới, nhưng nó sẽ xóa tất cả các hàng chứa giá trị NULL khỏi Khung dữ liệu ban đầu

Thay thế các giá trị rỗng

Một cách khác để xử lý các ô trống là thay vào đó hãy chèn một giá trị mới

Bằng cách này, bạn không phải xóa toàn bộ hàng chỉ vì một số ô trống

Phương thức

>>> for item in something:
..     
...
8 cho phép chúng ta thay thế các ô trống bằng một giá trị

Thí dụ

Thay giá trị NULL bằng số 130

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

df. fillna[130, tại chỗ = True]

Tự mình thử »

Chỉ thay thế cho các cột được chỉ định

Ví dụ trên thay thế tất cả các ô trống trong toàn bộ Khung dữ liệu

Để chỉ thay thế các giá trị trống cho một cột, hãy chỉ định tên cột cho DataFrame

Thí dụ

Thay thế giá trị NULL trong cột "Calo" bằng số 130

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

df["Calo"]. fillna[130, tại chỗ = True]

Tự mình thử »

Thay thế bằng Mean, Median hoặc Mode

Một cách phổ biến để thay thế các ô trống, là tính giá trị trung bình, trung bình hoặc chế độ của cột

Pandas sử dụng các phương thức

>>> for item in something:
..     
...
9
>YP_003612801.1_Firmicutes_Clostridia_Clostridiales     
MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV   
YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA 
AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
0 và
>YP_003612801.1_Firmicutes_Clostridia_Clostridiales     
MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV   
YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA 
AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
1 để tính các giá trị tương ứng cho một cột được chỉ định

Lý do nó hoạt động theo cách này là vì trong trình thông dịch tương tác, các câu lệnh được thực thi ngay sau khi bạn kết thúc chúng. Đó là một điều thuận tiện để làm, tương tác. Nó có nghĩa là bạn có thể làm

>>> def some_function[]:
..     
...

hoặc

>>> for item in something:
..     
...

… và sau đó sử dụng kết quả ngay lập tức. tab-hoàn thành chức năng, kiểm tra chức năng, xem kết quả của vòng lặp, xem nó đang chạy, v.v. Sử dụng một cái gì đó không phải là một dòng trống có nghĩa là bạn cần một trình kích hoạt khác để biết khi nào thực hiện mọi thứ. Đó nên là gì?

Và hãy nhớ rằng đó chỉ là một dòng trống để trình thông dịch tương tác thực thi câu lệnh. Bất kỳ loại khoảng trắng nào trên dòng làm cho nó không kết thúc khối và nó không phải khớp với phần thụt đầu dòng của phần còn lại của mã. Nếu đây chỉ là về dán mã, bạn có thể thêm khoảng trắng vào bất kỳ dòng trống nào không đứng trước dòng không thụt lề. [Nó chỉ yêu cầu bạn có thể nhìn thấy dòng tiếp theo, đây không phải là điều mà trình thông dịch tương tác có thể làm được. ]

Tôi không biết tại sao có những dòng trống giữa các dòng khác nhau và tôi muốn phân loại được thêm vào cùng một dòng với số gia nhập thay vì dòng mới, vì vậy đây là những gì tôi muốn

>YP_003612801.1_Firmicutes_Clostridia_Clostridiales     
MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV   
YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA 
AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL

Nếu tôi muốn chạy trong python có ai biết không?

trăn • 23k lượt xem

THÊM NHẬN XÉT • liên kết đã cập nhật 4. 9 năm trước bởi jomo018 ▴ 670 • đã viết 4. 9 năm trước bởi horsedog ▴ 60

0

Vào chế độ chỉnh sửa

Kịch bản của bạn đang làm điều gì đó khó hiểu và nếu không xem kịch bản của bạn, chúng tôi không thể giúp bạn. Ngoài ra, vui lòng sử dụng thanh định dạng [đặc biệt là tùy chọn

>YP_003612801.1  
_Firmicutes_Clostridia_Clostridiales

MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV

YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA

AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
0] để trình bày bài đăng của bạn tốt hơn. Tôi đã làm điều đó cho bạn thời gian này.

THÊM TRẢ LỜI • liên kết 4. 9 năm trước bởi Ram 37k

0

Vào chế độ chỉnh sửa

Cảm ơn, tôi vừa định dạng nó

THÊM TRẢ LỜI • liên kết 4. 9 năm trước by horsedog ▴ 60

3

Vào chế độ chỉnh sửa

4. 9 năm trước

jomo018 ▴ 670

Các dòng bạn đọc bao gồm phần cuối của dòng [eol] từ tệp đầu vào. Lệnh in thêm phần cuối dòng của chính nó. Vì vậy, bạn kết thúc với hai eol do đó một dòng trống. Bạn có thể sửa lỗi này bằng cách sử dụng dải [] trên dòng bạn đọc. Ví dụ dòng. dải [] sẽ loại bỏ eol khỏi dòng

THÊM NHẬN XÉT • liên kết 4. 9 năm trước bởi jomo018 ▴ 670

1

Vào chế độ chỉnh sửa

>YP_003612801.1  
_Firmicutes_Clostridia_Clostridiales

MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV

YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA

AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
1 phải tốt hơn
>YP_003612801.1  
_Firmicutes_Clostridia_Clostridiales

MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV

YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA

AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
2 để tránh bị cắt xén không mong muốn ở đầu dòng

THÊM TRẢ LỜI • liên kết 4. 9 năm trước bởi chen ★ 2. 4k

2

Vào chế độ chỉnh sửa

4. 9 năm trước

chen ★ 2. 4k

Đây là phỏng đoán của tôi.
1, bạn sử dụng readline[] để lấy các dòng từ tệp gốc
2, khi bạn sử dụng write[] để ghi các dòng vào tệp mới, bạn nối thêm

Tôi có thể xem mã của bạn nếu bạn đăng nó

THÊM NHẬN XÉT • liên kết 4. 9 năm trước bởi chen ★ 2. 4k

0

Vào chế độ chỉnh sửa

with open["sequence.fasta"] as file:
    with open["taxonomy"] as name:
        for line in taxonomy.readlines[]:
            for i in file.readlines[]:
                if i.startswith[">"]:
                    print[i+"_"+line]
                else:
                    print[i]

THÊM TRẢ LỜI • liên kết 4. 9 năm trước by horsedog ▴ 60

1

Vào chế độ chỉnh sửa

Sử dụng chữ in với

>YP_003612801.1  
_Firmicutes_Clostridia_Clostridiales

MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV

YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA

AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
4

print[i+"_"+line, end=""]

Ngoài ra, bạn có thể kết hợp câu lệnh with

>>> for item in something:
..     
...
0

và vòng lặp for của bạn

>>> for item in something:
..     
...
1

Mã của bạn có

>YP_003612801.1  
_Firmicutes_Clostridia_Clostridiales

MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV

YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA

AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
5, nhưng tôi cho rằng nó phải là
>YP_003612801.1  
_Firmicutes_Clostridia_Clostridiales

MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV

YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA

AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
6. Cũng không có lý do gì để gọi
>YP_003612801.1  
_Firmicutes_Clostridia_Clostridiales

MTDYLLLFVGTVLVNNFVLVKFLGLCPFMGVSKKLETAMGMGLATTFVMTMASICAWLIDTWILIPLGLV

YLRTLAFILVIAVVVQFTEMVVRKTSPALYRLLGIFLPLITTNCAVLGVALLNINLGHNFMQSALYGFSA

AVGFSLVMVLFASIRERLAAADIPAPFRGNAIALVTAGLMSLAFMGFSGLVKL
7 vì bạn chỉ đơn giản là lặp lại tệp. Bạn không cần phải tải nó hoàn toàn trong bộ nhớ

Làm cách nào để bỏ qua các dòng trống?

Đây là một cách rất đơn giản để bỏ qua các dòng trống. với mở [tệp] là f_in. dòng = danh sách [dòng cho dòng trong [l. dải [] cho l trong f_in] nếu dòng]

Làm cách nào để ngăn in dòng mới trong Python?

Đó là lý do tại sao bạn có thêm dòng. BTW, không sử dụng tập tin. readlines trừ khi bạn cần tất cả các dòng cùng một lúc. Chỉ cần lặp lại tập tin. với mở ["kiểm tra. txt"] dưới dạng f. cho tôi trong f. in tôi. dải [' ']. Trong Python 3, để ngăn bản in in theo dòng mới, bạn có thể sử dụng print [i, end='']

Chuỗi rỗng có phải là giá trị sai không?

Chuỗi rỗng là một giá trị Sai. Nếu bạn chỉ đang sử dụng dòng if trong [' '], bạn nên thay thế dòng đó bằng dòng if == ''. Tôi muốn chỉ ra rằng câu trả lời được chấp nhận, có lỗi. nếu dòng. dải []. . #do something bỏ qua các dòng có khoảng trắng i. e. không gian, tab và dòng trống

Dải xóa khỏi chuỗi trong Python là gì?

Vì vậy, như bạn có thể thấy, dải loại bỏ ký tự dòng mới và bất kỳ khoảng trắng giới hạn nào [tab, dòng mới, dấu cách - ở ngoài cùng bên trái và bên phải của chuỗi]. Vì Python coi một dòng trống là Sai, mã này đang chờ một dòng không đánh giá là Sai, trước khi hành động trên nó

Các dòng trống có được phép trong Python không?

Hạn chế sử dụng các dòng trống trong hàm để biểu thị các phần logic . Python chấp nhận điều khiển-L [i. e. ^L] biểu mẫu ký tự nguồn cấp dữ liệu dưới dạng khoảng trắng; .

Mã có nên có dòng trống không?

Dòng trống cải thiện khả năng đọc bằng cách đặt tắt các phần mã có liên quan về mặt logic . Hai dòng trống phải luôn được sử dụng trong các trường hợp sau. Giữa các phần của tệp nguồn. Giữa định nghĩa lớp và giao diện.

Chủ Đề