【发布时间】:2018-06-08 17:19:46
【问题描述】:
我正在尝试将 DataFrame 中的特定列转换为 dtype: float。我试过这个:
grid[['DISTINCT_COUNT','MAX_COL_LENGTH', 'MIN_COL_LENGTH', 'NULL_COUNT' ]].apply(pd.to_numeric, errors='ignore')
但是当我之后打印这个时:
print(grid.dtypes)
我仍然看到这个:
COLUMN_NM object
DISTINCT_COUNT object
NULL_COUNT object
MAX_COL_VALUE object
MIN_COL_VALUE object
MAX_COL_LENGTH object
MIN_COL_LENGTH object
TABLE_CNT object
TABLE_NM object
DATA_SOURCE object
dtype: object
有什么想法吗?
【问题讨论】:
-
此操作不会修改数据框。您必须将输出分配回原始文件。
grid[['DISTINCT_COUNT','MAX_COL_LENGTH', 'MIN_COL_LENGTH', 'NULL_COUNT' ]] = grid[['DISTINCT_COUNT','MAX_COL_LENGTH', 'MIN_COL_LENGTH', 'NULL_COUNT' ]].apply(pd.to_numeric, errors='ignore') -
@pault 尽管这很简单,但您应该将其发布为答案,以便将来的用户知道有已发布的解决方案。
-
@pault 啊,谢谢。我应该知道的更好。那工作得很好。如果你把它变成一个答案,如果你愿意,我可以“接受”
-
@Barker 我正在寻找一个受骗的候选人。如果我找不到它,我会发布一个答案。更新:找到它here。虽然这个问题不是一个完全的欺骗,但接受的答案解决了这个问题。