簡體   English   中英

當給定某個條件時,通過pandas數據幀的列中的用戶定義函數輸入值

[英]Input values through a user-defined function in a column of a pandas dataframe when a certain condition is given

我有一個pandas DataFrame,列“A”表示可能具有未知值的分類變量,標記為“-1”。 我想用隨機生成的變量樣本替換未知值,同時考慮它們的頻率。

例:

    'A' 
0   cat
1   dog
2   -1
3   dog
4   dog 

將“-1”值輸入到(貓,狗)的隨機樣本中,並選擇其計數概率,即(1,3)

我可以很容易地獲得可能的值和計數器

vals, counts = np.unique(df['A'], return_counts=True), 

然后用

random.choices(vals, counts)  

我可以對它們進行采樣,因此構建了該功能。

如何通過應用函數的輸出值替換列的條目“-1”?

如果我們有樣本輸入和輸出,這將有助於理解你的問題,但你應該能夠在系列上使用np.where

df['A']=np.where(df['A'] == -1,func(),df['A']

暫無
暫無

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

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