Hướng dẫn ignore non numeric values python - bỏ qua các giá trị không phải số python

Khi

is_stringlike = np.isnan(numeric_X)
0 chứa hỗn hợp các số và chuỗi, DTYPE của cột sẽ là
is_stringlike = np.isnan(numeric_X)
1 thay vì DTYPE số. Các mục giống như số trong
is_stringlike = np.isnan(numeric_X)
0 có thể là ints hoặc floats hoặc thậm chí có thể là chuỗi (không rõ từ câu hỏi của bạn). Nhiều hoạt động số như
is_stringlike = np.isnan(numeric_X)
3 có thể gây ra lỗi trong trường hợp này.

Để coi các giá trị giống như số làm số, hãy sử dụng

is_stringlike = np.isnan(numeric_X)
4 để chuyển đổi cột thành DTYPE số:

In [41]: numeric_X = pd.to_numeric(df['X'], errors='coerce')
In [43]: numeric_X
Out[43]: 
0    13500.0
1    13600.0
2        NaN
3        NaN
4    15003.0
5    15004.0
Name: X, dtype: float64

Và bạn cũng có thể xác định các giá trị giống như chuỗi bằng cách kiểm tra NANS:

is_stringlike = np.isnan(numeric_X)

import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)

năng suất

          X         Y
0     13500         B
1     13600         B
2  BBOX-001  BBOX-001
3    Mobi-1    Mobi-1
4     15003         A
5     15004         A

Xóa các ký tự không phải là số ngoại trừ "." trong Python #

Sử dụng phương thức

is_stringlike = np.isnan(numeric_X)
5 để loại bỏ tất cả các ký tự không phải là số ngoại trừ DOT
is_stringlike = np.isnan(numeric_X)
6 khỏi chuỗi, ví dụ:
is_stringlike = np.isnan(numeric_X)
7. Phương thức
is_stringlike = np.isnan(numeric_X)
5 sẽ loại bỏ tất cả các ký tự không phải là số ra khỏi chuỗi bằng cách thay thế chúng bằng các chuỗi trống.

Copied!

import re my_str = 'a3.1b4c' result = re.sub(r'[^0-9.]', '', my_str) print(result) # 👉️ '3.14'

Nếu bạn đang tìm cách tránh sử dụng các biểu thức thông thường, hãy cuộn xuống tiêu đề tiếp theo.

Chúng tôi đã sử dụng phương thức

is_stringlike = np.isnan(numeric_X)
5 để xóa tất cả các ký tự không phải là dấu chấm từ một chuỗi.

Phương thức Re.sub trả về một chuỗi mới thu được bằng cách thay thế các lần xuất hiện của mẫu bằng thay thế được cung cấp.

Nếu mẫu không được tìm thấy, chuỗi được trả về như vậy.

Đối số đầu tiên chúng tôi đã chuyển sang phương pháp

is_stringlike = np.isnan(numeric_X)
5 là một biểu thức chính quy.

Các dấu ngoặc vuông

import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)
1 được sử dụng để chỉ ra một tập hợp các ký tự.

Nếu ký tự đầu tiên của bộ là CARET

import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)
2, tất cả các ký tự không có trong bộ sẽ được khớp.

Nói cách khác, tập hợp của chúng tôi phù hợp với bất kỳ ký tự nào không phải là một chữ số trong phạm vi

import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)
3 hoặc dấu chấm.

Đối số thứ hai chúng tôi đã chuyển sang phương pháp

is_stringlike = np.isnan(numeric_X)
5 là sự thay thế cho mỗi trận đấu.

Copied!

import re my_str = 'a3.1b4c' result = re.sub(r'[^0-9.]', '', my_str) print(result) # 👉️ '3.14'

Chúng tôi muốn loại bỏ tất cả các ký tự hoặc dấu chấm không phải là số, vì vậy chúng tôi thay thế từng ký tự bằng một chuỗi trống.

Ngoài ra còn có một tốc ký cho phạm vi

import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)
3.

Copied!

import re my_str = 'a3.1b4c' result = re.sub(r'[^\d.]', '', my_str) print(result) # 👉️ '3.14'

Ký tự

import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)
6 phù hợp với bất kỳ chữ số thập phân Unicode nào. Điều này bao gồm
import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)
7 và nhiều ký tự chữ số khác.

Xóa tất cả các ký tự không phải là số ngoại trừ "." Từ chuỗi bằng cách sử dụng Jop () #

Để xóa tất cả các ký tự không phải là số ngoại trừ "." Từ một chuỗi:

  1. Sử dụng biểu thức máy phát để lặp qua chuỗi.
  2. Kiểm tra xem mỗi ký tự là một chữ số hoặc một dấu chấm và trả về kết quả.
  3. Sử dụng phương thức
    import numpy as np
    import pandas as pd
    
    df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})
    
    numeric_X = pd.to_numeric(df['X'], errors='coerce')
    is_stringlike = np.isnan(numeric_X)
    conditions = [numeric_X > 15000, is_stringlike]
    choices = ['A', df['X']]
    df['Y'] = (np.select(conditions, choices, default='B'))
    print(df)
    
    8 để tham gia các ký tự vượt qua bài kiểm tra.

Copied!

my_str = 'a3.1b4c' result = ''.join(char for char in my_str if char in '123456789.') print(result) # 👉️ '3.14'

Chúng tôi đã sử dụng một biểu thức máy phát để lặp qua chuỗi.

Biểu thức của máy phát được sử dụng để thực hiện một số hoạt động cho mọi phần tử hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.

Trên mỗi lần lặp, chúng tôi kiểm tra xem ký tự hiện tại là một chữ số hoặc dấu chấm và trả về kết quả.

Các thử nghiệm trong nhà điều hành để thành viên. Ví dụ,

import numpy as np
import pandas as pd

df = pd.DataFrame({'X': ['13500', '13600', 'BBOX-001', 'Mobi-1', '15003', '15004']})

numeric_X = pd.to_numeric(df['X'], errors='coerce')
is_stringlike = np.isnan(numeric_X)
conditions = [numeric_X > 15000, is_stringlike]
choices = ['A', df['X']]
df['Y'] = (np.select(conditions, choices, default='B'))
print(df)
9 đánh giá thành
          X         Y
0     13500         B
1     13600         B
2  BBOX-001  BBOX-001
3    Mobi-1    Mobi-1
4     15003         A
5     15004         A
0 nếu
          X         Y
0     13500         B
1     13600         B
2  BBOX-001  BBOX-001
3    Mobi-1    Mobi-1
4     15003         A
5     15004         A
1 là thành viên của
          X         Y
0     13500         B
1     13600         B
2  BBOX-001  BBOX-001
3    Mobi-1    Mobi-1
4     15003         A
5     15004         A
2, nếu không nó sẽ đánh giá thành
          X         Y
0     13500         B
1     13600         B
2  BBOX-001  BBOX-001
3    Mobi-1    Mobi-1
4     15003         A
5     15004         A
3.

Đối tượng Trình tạo chỉ chứa các chữ số và dấu chấm từ chuỗi.

Copied!

my_str = 'a3.1b4c' # 👇️ ['3', '.', '1', '4'] print(list(char for char in my_str if char in '123456789.'))

Bước cuối cùng là tham gia các chữ số và dấu chấm vào một chuỗi.

Copied!

my_str = 'a3.1b4c' result = ''.join(char for char in my_str if char in '123456789.') print(result) # 👉️ '3.14'

Phương thức str.join lấy một điều đáng tin cậy như một đối số và trả về một chuỗi là sự kết hợp của các chuỗi trong điều kiện có thể sử dụng được.

Chuỗi phương thức được gọi là bật được sử dụng làm phân tách giữa các phần tử.

Đối với mục đích của chúng tôi, chúng tôi đã gọi phương thức

          X         Y
0     13500         B
1     13600         B
2  BBOX-001  BBOX-001
3    Mobi-1    Mobi-1
4     15003         A
5     15004         A
4 trên một chuỗi trống để tham gia các chữ số và dấu chấm mà không có dấu phân cách.

Làm thế nào để bạn loại bỏ không

Sử dụng phương thức re.sub () để xóa tất cả các ký tự không phải là số từ một chuỗi, ví dụ: Kết quả = Re. sub (r '[^0-9]', '', my_str). sub() method to remove all non-numeric characters from a string, e.g. result = re. sub(r'[^0-9]', '', my_str) .

Làm thế nào để tôi thoát khỏi

Làm thế nào để tôi thoát khỏi NA trong gấu trúc ?..
Cú pháp: pandas.dataframe.dropna (trục = 0, How = 'Any', Thresh = none, SUBMET = none, inplace = false).
Mục đích: Để xóa các giá trị bị thiếu khỏi DataFrame ..
Tham số: trục: 0 hoặc 1 (mặc định: 0) ..
Trả về: Nếu tại chỗ được đặt thành 'true' thì không có.Nếu nó được đặt thành 'false', thì DataFrame ..

Làm thế nào để Python xử lý không

Đầu tiên, bạn sẽ muốn đạp xe qua các cột trong Pandas DataFrame.Đối với các cột không phải là số, bạn muốn tìm các yếu tố duy nhất của chúng.Điều này có thể được thực hiện bằng cách đơn giản là lấy một tập hợp các giá trị cột.Từ đây, chỉ mục trong tập hợp đó có thể là giá trị "số" mới hoặc "ID" của dữ liệu văn bản.cycle through the columns in the Pandas dataframe. For columns that are not numbers, you want to find their unique elements. This can be done by simply take a set of the column values. From here, the index within that set can be the new "numerical" value or "id" of the text data.

Làm thế nào để bạn chỉ giữ một số trong một chuỗi trong Python?

Tóm tắt: Để trích xuất số từ một chuỗi đã cho trong Python, bạn có thể sử dụng một trong các phương thức sau:..
Sử dụng mô -đun Regex ..
Sử dụng các hàm split () và append () trong danh sách ..
Sử dụng danh sách hiểu với các hàm isDigit () và split () ..
Sử dụng mô -đun Num_From_String ..