簡體   English   中英

在所有 Dataframe 行中應用函數的返回值

[英]Apply returned value from function in all Dataframe rows

我正在嘗試從新列中 Dataframe 的所有行中的函數分配一個值。 即下面的 df 應包含稱為random number新列,其中包含在get_random()函數中生成的隨機數。

import pandas as pd
from random import random

def get_random():
    return random()

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

我嘗試了下面的方法,但出現錯誤get_random takes 0 positional arguments

df['random number'] = df.apply(get_random)

你可以這樣做

df['random number'] = df.apply(lambda x: random())

或將 get_random 更改為

def get_random(x):
    return random()

只需更改函數random

def get_random(x):
    return random()

因為 apply 期望函數接受輸入。

您可以使用列表理解

df['random number'] = [get_random() for i in range(len(df))]

暫無
暫無

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

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