第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創(chuàng)建熊貓數(shù)據(jù)框:在 numpy 上映射一個函數(shù)

創(chuàng)建熊貓數(shù)據(jù)框:在 numpy 上映射一個函數(shù)

慕容708150 2023-02-15 17:20:10
我正在創(chuàng)建一個 pandas 數(shù)據(jù)框并使用 numpy 來模擬值。我想將隨機生成的 ID 分配給熊貓中的兩列,為此,我編寫了一個返回字母數(shù)字 ID 的函數(shù)。但是,使用我當前的代碼,它只調(diào)用一次函數(shù)并為所有行返回相同的 id。我需要每一行的唯一 ID,因此需要有效地遍歷 pandas 數(shù)據(jù)框。理想情況下,.apply這樣做,但是,我需要在創(chuàng)建 pandas 數(shù)據(jù)框時完成此操作。這是我的代碼:# Generate alphanumeric lease id and property idsdef gen_ids(length):        ids = ''.join(random.choices(string.ascii_letters + string.digits, k=length))    return ids# Create DataFramedf = pd.DataFrame({                   'LeaseID': gen_ids(10)                   'PropertyID': gen_ids(10),                   'xyz': np.random.choice(List1, 1000),                     'abc': np.random.choice(List2, 1000),                 })結(jié)果:
查看完整描述

2 回答

?
交互式愛情

TA貢獻1712條經(jīng)驗 獲得超3個贊

您需要為每個單元格調(diào)用一次 get_ids,而不是為每一列調(diào)用一次:


df = pd.DataFrame({

                   'LeaseID': [gen_ids(10) for _ in range(1000)], 

                   'PropertyID': [gen_ids(10) for _ in range(1000)],

                   'xyz': np.random.choice(List1, 1000),  

                   'abc': np.random.choice(List2, 1000),

                 })

輸出是:


      LeaseID  PropertyID  xyz  abc

0  NHQikWbUZI  phwUIn9IgZ    8   19

1  f6aBvrSeWe  zV0tmst212    9   15

2  hdTHtm7LvU  lC6uQJeHRX    8   14

3  FnppdLbbcq  na9dVUO3Ay    2   17

4  arXAq4EvzT  7dvKTclo6o    1   18

...


查看完整回答
反對 回復(fù) 2023-02-15
?
白衣非少年

TA貢獻1155條經(jīng)驗 獲得超0個贊

替代代碼:


gen_ids修改了問題中的函數(shù)以返回 a Series。


# Import libraries

import random

import string

import pandas as pd

import numpy as np


# Generate alphanumeric lease id and property ids

def gen_ids(length, len_df):

    s = []

    for i in range(len_df):

        ids = ''.join(random.choices(string.ascii_letters + string.digits, k=length))

        s.append(ids)

    return s


# Create DataFrame

List1 = ['a','b','c','D','e']

List2 = ['G','h','k','L','q']

df = pd.DataFrame({

                   'LeaseID': gen_ids(10, 1000),

                   'PropertyID': gen_ids(10, 1000),

                   'xyz': np.random.choice(List1, 1000),  

                   'abc': np.random.choice(List2, 1000)

                 })

輸出


print(df)


        LeaseID  PropertyID xyz abc

0    gxpSTdLoPH  rswWVZuBIW   a   q

1    OSdR5vOA0I  gHKdcYKw5s   e   L

2    WAmNQ4ieRH  ThC1Apk5YA   e   h

3    BYUTgbKcbl  IKcdjvH9da   c   L

4    4CNFqbu7hO  uJEWhlEufu   a   k

..          ...         ...  ..  ..



查看完整回答
反對 回復(fù) 2023-02-15
  • 2 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號