Python3如何从while循环设置DataFrame

问题描述

我想创建一个将A_weights和B_weights附加为列的DataFrame;像这样:

        A_weights     B_weights
weights    0              1
weights   0.01           0.99
weights   0.02           0.98
weights   0.03           0.97
weights   ...            ...
weights    1              0

到目前为止,我已经做到了:


A_weights = -0.01
A_n = 1

B_weights = 1.01
B_n = 0

counter = 0.01

while A_weights < A_n:
    A_weights += counter
    print(round(A_weights,2))
print('\n')

while B_weights > B_n:
    B_weights -= counter
    print(round(B_weights,2))
    
weights_df = {'Weights_A': ['A_weights'],'Weights_B': ['B_weights']
        }

df = pd.DataFrame(weights_df,columns = ['A_weights','B_weights'])

print (df)

输出

0.0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
0.13
0.14
0.15
0.16
0.17
0.18
0.19
0.2
0.21
0.22
0.23
0.24
0.25
0.26
0.27
0.28
0.29
0.3
0.31
0.32
0.33
0.34
0.35
0.36
0.37
0.38
0.39
0.4
0.41
0.42
0.43
0.44
0.45
0.46
0.47
0.48
0.49
0.5
0.51
0.52
0.53
0.54
0.55
0.56
0.57
0.58
0.59
0.6
0.61
0.62
0.63
0.64
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
0.77
0.78
0.79
0.8
0.81
0.82
0.83
0.84
0.85
0.86
0.87
0.88
0.89
0.9
0.91
0.92
0.93
0.94
0.95
0.96
0.97
0.98
0.99
1.0


1.0
0.99
0.98
0.97
0.96
0.95
0.94
0.93
0.92
0.91
0.9
0.89
0.88
0.87
0.86
0.85
0.84
0.83
0.82
0.81
0.8
0.79
0.78
0.77
0.76
0.75
0.74
0.73
0.72
0.71
0.7
0.69
0.68
0.67
0.66
0.65
0.64
0.63
0.62
0.61
0.6
0.59
0.58
0.57
0.56
0.55
0.54
0.53
0.52
0.51
0.5
0.49
0.48
0.47
0.46
0.45
0.44
0.43
0.42
0.41
0.4
0.39
0.38
0.37
0.36
0.35
0.34
0.33
0.32
0.31
0.3
0.29
0.28
0.27
0.26
0.25
0.24
0.23
0.22
0.21
0.2
0.19
0.18
0.17
0.16
0.15
0.14
0.13
0.12
0.11
0.1
0.09
0.08
0.07
0.06
0.05
0.04
0.03
0.02
0.01
-0.0
Empty DataFrame
Columns: [GS_weights,FB_weights]
Index: []

我设法为A_weights和B_weights创建了while循环。请帮助我调整数据框,以将A_weights和B_weights设置为列,并从while循环中相应地显示权重。

解决方法

首先,需要将值写入列表,在这里我将其称为nA_weights和nB_weights:

counter = 0.01
A_weights = -0.01
A_n = 1
B_weights = 1.01
B_n = 0
nA_weights = []
nB_weights = []

while A_weights < A_n:
    A_weights += counter
    nA_weights.append(A_weights)

while B_weights > B_n:
    B_weights -= counter
    nB_weights.append(B_weights)

下一步将列表放入DataFrame中:

df = pd.DataFrame({'Weights_A':nA_weights,'Weights_B':nB_weights})

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...