如何将单个userid的多行写入datafram

2024-09-27 07:32:20 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将多行写入单个用户id

示例

id = ['userid1','userid2'....'useridn']
ndarry1 = [1,2,3,4,5...]
ndarry2 = [1,2,3,4,5...]
.
.
ndarryn = [1,2,3,4,5...]

预期输出:数据帧

id          value
userid1       1
userid1       2
userid1       3
.             .
.             .
userid2       1  

有人能建议我怎么做吗


Tags: 数据用户id示例value建议userid1userid2
2条回答
id = ['userid1', 'userid2', 'userid3', 'userid4']
ndarray1 = [1, 2, 3, 4]
ndarray2 = [1, 2, 3, 4]
ndarray3 = [1, 2, 3, 4]
ndarray4 = [1, 2, 3, 4]

n = 4

ID = []
value = []

for i in id:
    a = str(id.index(i)+1)
    for j in range(0,n):
        ID.append(i)
        value.append(eval('ndarray'+ a)[j])

df = pd.DataFrame({'ID':ID,'Value':value})

输出

ID  Value
0   userid1      1
1   userid1      2
2   userid1      3
3   userid1      4
4   userid2      1
5   userid2      2
6   userid2      3
7   userid2      4
8   userid3      1
9   userid3      2
10  userid3      3
11  userid3      4
12  userid4      1
13  userid4      2
14  userid4      3
15  userid4      4

不同的方法

id = ['userid1', 'userid2', 'userid3']
ndarray1 = [1, 2, 3, 4]
ndarray2 = [1, 2, 3, 4]
ndarray3 = [1, 2, 3, 4]

concat = [ndarray1, ndarray2, ndarray3]

n = []
user = []

for i in range(len(concat)):
    for j in range(len(concat[i])):
        user.append(id[i])
        n.append(concat[i][j])

df = pd.DataFrame(data=[n, user]).T
df.columns = ['id', 'value']

相关问题 更多 >

    热门问题