簡體   English   中英

使用 python 中的所有值將 dataframe float 轉換為 int

[英]Convert dataframe float to int with all values in python

我有一個 6 列的數據框。 我想將其中一列(第二列)從float轉換為int,當我這樣做時,它只將一列作為int返回,但我想要完全相同的dataframe,唯一的區別是第二個列是 int 而不是 float。

我已經在這里檢查了所有相關問題,但對我沒有任何幫助!! 請幫忙

看起來你有一個看起來像這樣的 dataframe:

>>> print(df)
  c1   c2  c3 c4  c5 c6
0  a  1.0   5  d  20  z
1  b  2.0   6  e  40  y
2  c  3.0   7  f  60  x

我相信您可能正在使用DataFrame.astype將您的浮點數列轉換為整數列。 具體來說,您似乎已經到了這一點:

>>> df['c2'].astype(int)
0    1
1    2
2    3

現在,您需要做的就是通過調用替換列:

>>> df['c2'] = df['c2'].astype(int)
>>> print(df)
  c1  c2  c3 c4  c5 c6
0  a   1   5  d  20  z
1  b   2   6  e  40  y
2  c   3   7  f  60  x

如果你想創建一個新的整數列,你可以這樣做:

>>> df['new_col'] = df['c2'].astype(int)
>>> print(df)
  c1  c2    c3 c4  c5 c6  new_col
0  a   1.0   5  d  20  z        1
1  b   2.0   6  e  40  y        2
2  c   3.0   7  f  60  x        3

你可以做這樣的事情!

>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
                       'num_wings': [2, 0, 0, 0],
                       'num_specimen_seen': [10, 2, 1, 8]},
                       index=['falcon', 'dog', 'spider', 'fish'])

>>> df
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
dog            4          0                  2
spider         8          0                  1
fish           0          0                  8

>>> df['test'] = df['num_wings'].astype('float')

>>> df
        num_legs  num_wings  num_specimen_seen  test
falcon         2          2                 10   2.0
dog            4          0                  2   0.0
spider         8          0                  1   0.0
fish           0          0                  8   0.0

您可以參考此鏈接了解更多詳情!

您可以重新分配給新列或替換相同的列值

df["col1"] = df["col1"].astype('int32')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM