python - 将列表中的随机项目数分配给 Dataframe 列
问题描述
我正在尝试创建一个具有两列和 1000 行的熊猫数据框。
第一列我想要一个 100 到 500 之间的随机整数。
在第二列中,我想要一个列表的随机子集,(项目和项目本身的随机数)
我试图从中提取的列表是这个:
fruits = ['banana', 'apple', 'orange', 'strawberry', 'melon', 'kiwi', 'grape', 'mango', 'peach', 'pear']
以下是我试图让 Dataframe 看起来像的一些示例:
Column 1 Column 2
304 ['melon', 'kiwi', 'grape', 'apple']
176 ['grape', 'banana']
456 ['strawberry', 'orange', 'melon', 'kiwi']
先感谢您!
解决方案
对于第 1 列,使用 生成 100 到 500 之间的随机数字数组numpy
。对于第 2 列,迭代地选择 的随机子集fruits
。请参阅以下内容:
import pandas as pd
import numpy as np
fruits = ['banana', 'apple', 'orange', 'strawberry', 'melon', 'kiwi', 'grape', 'mango', 'peach', 'pear']
col1 = np.random.randint(100, 500, 1000)
col2 = []
for i in range(1000):
n = np.random.randint(1, len(fruits) + 1)
col2.append(np.random.choice(fruits, size=n))
df = pd.DataFrame({'Column 1' : col1,
'Column 2' : col2})
示例输出df
:
Column 1 Column 2
0 163 [peach, strawberry, banana, apple, grape, bana...
1 102 [banana, kiwi, peach, mango, pear, peach, stra...
2 480 [apple, orange, peach]
3 231 [pear, kiwi]
4 202 [banana, peach, grape]
推荐阅读
- javascript - 使用 NodeJS 通过 LDAP 身份验证获取用户个人资料图片
- java - MismatchedInputException - Jackson 反序列化
- pipeline - 在 pdal 管道文件中读入和合并多个 .las
- php - 我在使用 xamp 的本地主机中遇到 codeigniter 错误
- python - 查找图像每个部分的平均颜色
- c# - 列表上的动态查询选择包含列表
- ios - 如何仅重新加载 tableView 部分标题?
- python - 为什么 type(((),)[0]) 是元组而不是 int?
- javascript - 我正在尝试绘制随机数,直到找到某个数字,但为什么我的 for 循环计数器不起作用?
- php - 图像不会上传到 Laravel 项目中的 public_html 文件夹