i have created one concatenated dataframe obtained from 2 different dataframe. the layout is ok of the concat df but when i try to make the sum of one column i obtain one errore. below the code using for the sum column
TotalVolumeAsk = concatenated_df['VolumeAsk'].sum()
print ("Column Volume Ask sum:",Total)
the output is
Column Volume Ask sum: 0.010000000.023380000.009390000.061090000.004690000.010000000.011250000.070510000.004000000.041750000.007460000.000530000.004000000.001060000.008000000.052200000.010000000.004000000.001000000.020000000.069790002.390000000.00401000
i think one only value for the column...how can i solve this problem?
also if i use the code below to calculate the difference between two columns i have this error.
code use for the difference between 2 column:
concatenated_df['spread']=concatenated_df['b']-concatenated_df['c']
error:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
thank you for the help.
I created my own dataframe, if you remove the line where the columns are converted to float, then the same errors will occur. import pandas as pd
df = pd.DataFrame({'bid':['1.2', '1.4', '1.5'], 'ask':['1.5', '1.7', '2.1']})
df[['bid', 'ask']] = df[['bid', 'ask']].astype(float)#If you remove this line, then the same errors will occur
df['spred'] = df['ask'] - df['bid']
TotalAsk = df['ask'].sum()
print ("Column Ask sum:", TotalAsk)
print(df)
Output
Column Ask sum: 5.300000000000001
bid ask spred
0 1.2 1.5 -0.3
1 1.4 1.7 -0.3
2 1.5 2.1 -0.6
If you print the column types before the conversion:
df = pd.DataFrame({'bid':['1.2', '1.4', '1.5'], 'ask':['1.5', '1.7', '2.1']})
print(df.dtypes)
Output
bid object
ask object
after:
df[['bid', 'ask']] = df[['bid', 'ask']].astype(float)#If you remove this line, then the same errors will occur
print(df.dtypes)
Output
bid float64
ask float64
That's why I was asking about the data type of your columns. And you have it object, that is, not numeric. The values in them are not numbers.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.