python - Pandas 从每个现有行创建新行

标签 python pandas dataframe

一个短数据框,我想从现有行创建新行。

它现在所做的是,每行、每列乘以 3 到 5 之间的随机数:

import pandas as pd
import random

data = {'Price': [59,98,79],
'Stock': [53,60,60],
'Delivery': [11,7,6]}
df = pd.DataFrame(data)

for row in range(df.shape[0]):
    new_row = round(df.loc[row] * random.randint(3,5))
    new_row.name = 'new row'
    df = df.append([new_row])

print (df)



         Price  Stock  Delivery
0           59     53        11
1           98     60         7
2           79     60         6
new row    295    265        55
new row    294    180        21
new row    316    240        24

是否可以为每一行添加多个不同的随机数?例如:

the 1st row 3 cells multiple (random) [3,4,5]
the 2nd row 3 cells multiple (random) [4,4,3] etc?

最佳答案

将 for 循环中的 random 更改为 numpy random.choice

np.random.choice(range(3,5),3)

关于python - Pandas 从每个现有行创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64519155/

相关文章:

python - range 的奇怪参数

python - 使用 Python 从 Pandas 数据框中的现有日期时间列创建星期几列

python - 如何用另一个数据框替换部分数据框

pandas - 检查用户 ID 交互的 pandas 数据框中的唯一条目

python - mod_wsgi 产生输出缓冲区而不是返回

python - Python geopy 地理编码器中的超时错误

python - Pandas 多索引聚合

python - Pandas 错误 : 'DataFrame' object has no attribute 'loc'

python - 按 python 中一列的值拆分大 csv 文件

python - 如何将字典转换为多级数据框?