gpt4 book ai didi

python - 根据需要的值将其他行插入到数据框中

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:24 25 4
gpt4 key购买 nike

我有一个这样的文本文件:

num_from    num_to   var1    var2
1 1 20 30
2 5 40 50
6 7 60 70
8 8 80 90

此处num_fromnum_to之间的数值相同,例如var1为40,var2 对于数字 2、3、4、5 是 50。

我想使用 read_csv() 将此数据读入数据帧并将该数据帧转换为:

    num    var1    var2
0 1 20 30
1 2 40 50
2 3 40 50
3 4 40 50
4 5 40 50
5 6 60 70
6 7 60 70
7 8 80 90

有没有办法用 pandas 做,还是循环做更好?

最佳答案

您可以使用 pd.concat使用生成器表达式:

df = pd.read_csv('file.csv')  # read file into dataframe

gen = (pd.DataFrame({'num': np.arange(row.num_from, row.num_to+1),
'var1': row.var1, 'var2': row.var2}) \
for row in df.itertuples(index=False))

res = pd.concat(gen, ignore_index=True)

print(res)

num var1 var2
0 1 20 30
1 2 40 50
2 3 40 50
3 4 40 50
4 5 40 50
5 6 60 70
6 7 60 70
7 8 80 90

关于python - 根据需要的值将其他行插入到数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54092252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com