![](/img/trans.png)
[英]Removing dash string from mixed dtype column in pandas Dataframe
[英]Filtering mixed dtype column in pandas results in error
我正在清理一個有一些違規行為的數據文件。 我有一個像這樣的值列表:
import numpy as np
import pandas as pd
dataset = pd.DataFrame.from_dict({'data':['1','2','3','Third Street',np.nan]})
我的目標是過濾掉“第三街”列,同時保留 NaN 值。
dataset['data'].astype(int)
ValueError: invalid literal for int() with base 10: 'Third Street'
這很有意義,因為最后一個值無法轉換為整數。
嘗試過濾非數字列過濾掉 NaN 值,我想保留它:
digitFilter = dataset['data'].str.isdigit()
dataset[digitFilter]
ValueError: cannot index with vector containing NA / NaN values
我也嘗試過堆疊過濾器,但 NaN 似乎也妨礙了那里。 當然有一種簡單的方法可以做到這一點,我忽略了。 欣賞任何人可以提供的任何智慧。
您可以使用|
(OR 運算符)檢查值是數字還是NaN
digitFilter = (dataset['data'].str.isdigit()) | (dataset['data'] == 'NaN')
dataset[digitFilter]
也許你可以寫一個函數來嘗試,除了你在上面做的事情?
那就跟着把這個功能應用到第三街列吧!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.