gpt4 book ai didi

python - 将 (r x c) 数组大小调整为 (r*2 x c-1)

转载 作者:行者123 更新时间:2023-11-28 21:33:12 24 4
gpt4 key购买 nike

我有一个包含 3 列的数据框:白天、早上和晚上,其中早上和晚上是进行测量的。

我需要将其转换为仅包含日期和测量值的数据框,以便:

Day, Morning, Evening
[0, 2, 3]

变成了

Day,value
[0,2]
[0,3]

我可以用循环来做到这一点,但我想知道是否有一种更Pythonic的方法可以在循环之外做到这一点?特别是因为我将在大型数据集上重复这一点。

这是我整理的:

import numpy as np
import pandas as pd

mor = np.linspace(80,85,10)
ev=np.linspace(82,87,10)

df=pd.DataFrame()
df['mor']=mor
df['ev']=ev
df.index.name='day'

x=np.zeros(mor.shape[0] * 2)*np.nan

for i in np.arange(0,len(mor)):
x[2*i]=mor[i]
x[2*i+1]=ev[i]

df_output =pd.DataFrame()
df_output['day']=np.repeat(df.index,2)
df_output['value']=x

最佳答案

检查堆栈

df_output = df.stack().reset_index(level=0)
df_output
Out[372]:
day 0
mor 0 80.000000
ev 0 82.000000
mor 1 80.555556
ev 1 82.555556
mor 2 81.111111
ev 2 83.111111
mor 3 81.666667
ev 3 83.666667
mor 4 82.222222
ev 4 84.222222
mor 5 82.777778
ev 5 84.777778
mor 6 83.333333
ev 6 85.333333
mor 7 83.888889
ev 7 85.888889
mor 8 84.444444
ev 8 86.444444
mor 9 85.000000
ev 9 87.000000

关于python - 将 (r x c) 数组大小调整为 (r*2 x c-1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54993375/

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