Reputation: 39
I want to create a DataFrame that appends A_weights and B_weights as the columns; like this:
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
So far, I've done this:
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)
Output
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: []
I have managed to create a while Loop for both A_weights and B_weights. Please help me in tweaking the dataframe to set A_weights and B_weights as columns and displays the weights accordingly from the while loop.
Upvotes: 2
Views: 49
Reputation: 4921
First, the values need to written to a list, which I call here nA_weights and 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)
The next step puts the lists in a DataFrame:
df = pd.DataFrame({'Weights_A':nA_weights, 'Weights_B':nB_weights})
Upvotes: 2