簡體   English   中英

如何用兩個列表值之一填充熊貓數據框列?

[英]How to fill a pandas dataframe column with one of two list values?

我正在嘗試將 'sex' 列添加到現有的 'tips' 數據框中。 有 244 行需要隨機填充“男性”或“女性”。 我嘗試使用 for 循環遍歷每一行並分配任一列表選項,但我不能完全正確。

sex = ['Male', 'Female']
def sex():
    for row in tips['sex']:
        sex[random.randint(0,1)]
tips['sex'] = sex()

您可以為此使用np.random.choice

import numpy as np
import pandas as pd
df = pd.DataFrame({'x': [1, 3, 4, 5, 7]})

df['sex'] = np.random.choice(['Male', 'Female'], size=len(df))
df

   x     sex
0  1    Male
1  3    Male
2  4    Male
3  5  Female
4  7    Male

(更糟)循環方法:

sex_col = []
for i in range(len(df)):
    sex_col.append(sex[random.randint(0,1)])

df['sex'] = sex_col
for i in df.index:
    df.loc[i, 'sex'] = sex[random.randint(0,1)]

暫無
暫無

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

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