Hướng dẫn how do you change a series to an integer in python? - làm thế nào để bạn thay đổi một chuỗi thành một số nguyên trong python?

gấu trúc.series.Arype¶

Series.Asype (t) ¶

Bản sao của mảng, đúc vào một loại được chỉ định.

Thông số :

T: str hoặc dtype : str or dtype

Typecode hoặc loại dữ liệu mà mảng được đúc.

Nâng cao:

ComplexWarning :: :

Khi đúc từ phức tạp đến float hoặc int. Để tránh điều này, người ta nên sử dụng a.real.Asype (t).a.real.astype(t).

Ví dụ

>>> x = np.array([1, 2, 2.5])
>>> x
array([ 1. ,  2. ,  2.5])

>>> x.astype(int)
array([1, 2, 2])

Tôi có một cột, có giá trị float, trong một khung dữ liệu (vì vậy tôi gọi cột này là chuỗi float). Tôi muốn chuyển đổi tất cả các giá trị thành số nguyên hoặc chỉ làm tròn nó để không có số thập phân.

Hãy để chúng tôi nói DataFrame là DF và cột là A, tôi đã thử điều này:

df['a'] = round(df['a']) 

Tôi đã gặp lỗi khi nói phương pháp này không thể được áp dụng cho một chuỗi, chỉ áp dụng cho các giá trị riêng lẻ.

Tiếp theo tôi đã thử điều này:

for obj in df['a']: 
   obj =int(round(obj))

Sau đó, tôi đã in DF nhưng không có thay đổi. Tôi làm sai ở đâu?

Chad S.

5.63913 Huy hiệu bạc25 Huy hiệu đồng13 silver badges25 bronze badges

Đã hỏi ngày 15 tháng 10 năm 2015 lúc 21:21Oct 15, 2015 at 21:21

Hướng dẫn how do you change a series to an integer in python? - làm thế nào để bạn thay đổi một chuỗi thành một số nguyên trong python?

Dữ liệu đam mê nhiệt tìnhData Enthusiast

4913 Huy hiệu vàng12 Huy hiệu bạc22 Huy hiệu đồng3 gold badges12 silver badges22 bronze badges

round sẽ không hoạt động vì nó được gọi trên một loạt gấu trúc giống như mảng chứ không phải là giá trị vô hướng, có phương thức được tích hợp trong

>>> x.astype(int)
array([1, 2, 2])
0 để hoạt động trên toàn bộ loạt loạt sau đó bạn có thể thay đổi DTYPE bằng cách sử dụng
>>> x.astype(int)
array([1, 2, 2])
1:

In [43]:
df = pd.DataFrame({'a':np.random.randn(5)})
df['a'] = df['a'] * 100
df

Out[43]:
            a
0   -4.489462
1 -133.556951
2 -136.397189
3 -106.993288
4  -89.820355

In [45]:
df['a'] = df['a'].round(0).astype(int)
df

Out[45]:
     a
0   -4
1 -134
2 -136
3 -107
4  -90

Ngoài ra, nó không cần thiết để lặp lại trên các hàng khi có sẵn các phương pháp vector hóa

Cũng điều này:

for obj in df['a']: 
   obj =int(round(obj))

Không làm biến đổi tế bào riêng lẻ trong chuỗi, nó hoạt động trên một bản sao của giá trị, đó là lý do tại sao DF không bị đột biến.

Đã trả lời ngày 15 tháng 10 năm 2015 lúc 21:55Oct 15, 2015 at 21:55

2

Mã trong vòng lặp của bạn:

>>> x.astype(int)
array([1, 2, 2])
2

Chỉ thay đổi đối tượng mà tên

>>> x.astype(int)
array([1, 2, 2])
3 đề cập đến. Nó không sửa đổi dữ liệu được lưu trữ trong loạt. Nếu bạn muốn làm điều này, bạn cần biết nơi nào trong loạt dữ liệu được lưu trữ và cập nhật nó ở đó.

E.g.

for i, num in enumerate(df['a']):
    df['a'].iloc[i] = int(round(obj))

Đã trả lời ngày 15 tháng 10 năm 2015 lúc 21:27Oct 15, 2015 at 21:27

Chad S.Chad S.Chad S.

5.63913 Huy hiệu bạc25 Huy hiệu đồng13 silver badges25 bronze badges

2

Đã hỏi ngày 15 tháng 10 năm 2015 lúc 21:21

Dữ liệu đam mê nhiệt tình
df['a'] = df['a'].round(0).astype(int)

4913 Huy hiệu vàng12 Huy hiệu bạc22 Huy hiệu đồng

df['a'] = pd.to_numeric(df['a']).round(0).astype(int)

round sẽ không hoạt động vì nó được gọi trên một loạt gấu trúc giống như mảng chứ không phải là giá trị vô hướng, có phương thức được tích hợp trong

>>> x.astype(int)
array([1, 2, 2])
0 để hoạt động trên toàn bộ loạt loạt sau đó bạn có thể thay đổi DTYPE bằng cách sử dụng
>>> x.astype(int)
array([1, 2, 2])
1:Oct 5, 2017 at 14:05

Ngoài ra, nó không cần thiết để lặp lại trên các hàng khi có sẵn các phương pháp vector hóaup as your question states, you can use

>>> x.astype(int)
array([1, 2, 2])
4:

import numpy as np
df['a'] = np.ceil(df['a']) 

Cũng điều này:

Không làm biến đổi tế bào riêng lẻ trong chuỗi, nó hoạt động trên một bản sao của giá trị, đó là lý do tại sao DF không bị đột biến.

Đã trả lời ngày 15 tháng 10 năm 2015 lúc 21:55Oct 16, 2015 at 9:32

Mã trong vòng lặp của bạn:fantabolous

Chỉ thay đổi đối tượng mà tên

>>> x.astype(int)
array([1, 2, 2])
3 đề cập đến. Nó không sửa đổi dữ liệu được lưu trữ trong loạt. Nếu bạn muốn làm điều này, bạn cần biết nơi nào trong loạt dữ liệu được lưu trữ và cập nhật nó ở đó.6 gold badges52 silver badges48 bronze badges

Làm thế nào để bạn thay đổi kiểu dữ liệu của một loạt trong Python?

Thay đổi loại dữ liệu của một chuỗi trong gấu trúc sử dụng một numpy.Loại DTYPE hoặc Python để đúc toàn bộ đối tượng gấu trúc theo cùng một loại.Ngoài ra, sử dụng {col: dtype, trên}, trong đó col là nhãn cột và dtype là một numpy.Loại DTYPE hoặc Python để đúc một hoặc nhiều cột của DataFrame thành các loại cụ thể theo cột.Use a numpy. dtype or Python type to cast entire pandas object to the same type. Alternatively, use {col: dtype, …}, where col is a column label and dtype is a numpy. dtype or Python type to cast one or more of the DataFrame's columns to column-specific types.

Làm thế nào để bạn thay đổi một giá trị trong một loạt trong Python?

Chức năng thay thế () được sử dụng để thay thế các giá trị được cung cấp trong to_Replace bằng giá trị.Các giá trị của chuỗi được thay thế bằng các giá trị khác một cách linh hoạt. is used to replace values given in to_replace with value. The values of the Series are replaced with other values dynamically.

Làm thế nào để bạn thay đổi một loạt để nổi trong Python?

Phương pháp 2: Sử dụng to_numeric () để chuyển đổi đối tượng thành nổi mã sau cho thấy cách sử dụng hàm to_numeric () để chuyển đổi cột điểm trong khung dữ liệu từ một đối tượng sang phao: Đây là gì?

Làm thế nào để bạn thay đổi một chuỗi thành một khung dữ liệu trong Python?

hàm to_frame () được sử dụng để chuyển đổi đối tượng chuỗi đã cho thành DataFrame.Tham số: Tên: Tên truyền nên thay thế cho tên loạt (nếu nó có một). is used to convert the given series object to a dataframe. Parameter : name : The passed name should substitute for the series name (if it has one).