簡體   English   中英

從 pandas dataframe 列中刪除 dtype 數據

[英]Remove a dtype data from pandas dataframe column

我有一個 dataframe 將日期和日期時間信息添加到預期為字符串的列中。 從 pandas dataframe 列中過濾所有日期和日期值並將這些值替換為空白的最佳方法是什么?

謝謝!

通常,如果您提供了問題的最小工作示例,則可以提供更具體的幫助,但假設您有以下列:

df = pd.DataFrame(np.zeros(shape=(10,1)), columns = ["Mixed"])
df["Mixed"] = "foobar"
df.loc[2,"Mixed"] = pd.to_datetime("2022-08-22")
df.loc[7,"Mixed"] = pd.to_datetime("2022-08-21")
#print("Before Fix", df)

您可以在列上使用apply(type)來獲取每個單元格的數據類型,然后使用列表理解[x!=str for x in types]檢查每個單元格的數據類型是否為字符串。 之后,只需將那些不是所需數據類型的值替換為您選擇的值。

types = df["Mixed"].apply(type).values
mask = [x!=str for x in types]
df.loc[mask,"Mixed"] = "" #Or None, or whatever you want to overwrite it with
#print("After Fix", df)

暫無
暫無

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

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