簡體   English   中英

將 Pandas 數據幀中的一列從 float 轉換為 int

[英]Convert a column from pandas dataframe from float to int

當我想執行以下命令(從另一個問題中學到)時,會出現警告。 如何避免這個警告?

df['Class'] = df['Class'].astype(int)

/home/ubuntu/src/anaconda3/lib/python3.5/site-packages/ipykernel/ main .py:2: SettingWithCopyWarning: 試圖在 DataFrame 的切片副本上設置值。 嘗試使用 .loc[row_indexer,col_indexer] = value 代替

請參閱文檔中的警告: http ://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy from ipykernel import kernelapp as app

您需要禁用鏈式分配。

# Disable chained assignments
pd.options.mode.chained_assignment = None 

會讓它工作。

我建議您采用這種方式而不是更改配置,盡管這會占用更多資源。 有充足的內存或小尺寸的數據,都沒有關系。

df_ = df.copy()
df_['Class'] = df_['Class'].astype(int)

僅供參考

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.copy.html https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#indexing -查看與復制

暫無
暫無

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

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