将 float64 转换为 Dynamodb 的十进制数据类型
Converting float64 to decimal data type for Dynamo db
我有一个 pandas 数据框,如下所示:
Blast_ID Campaign Campaign ID Basic rate Market cost
ab12 Glass 20 220
ab34 Glass 234
ab56 Plastic 55 245
ab87 Plastic 10
我使用以下代码将具有 float64 数据类型的列转换为整数(df 是数据框):
for i in df.columns:
print(i)
print(df[i].dtypes)
datatype = df[i].dtype
df = df.fillna(0)
if datatype == 'float64':
print('yes')
df[i] = df[i].astype(int)
当我尝试使用以下代码将此数据帧上传到发电机数据库时仍然如此:
myl_list = df1.T.to_dict().values()
print(myl_list)
#read the dynamo resource
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('VisData')
for Blast_ID in myl_list:
table.put_item(Item=Blast_ID)
它给我的错误是:
"errorMessage": "Float types are not supported. Use Decimal types instead."
我该如何解决?非常感谢
在输入 table:
之前尝试转换成字符串
myl_list = df1.T.to_dict().values()
print(myl_list)
#read the dynamo resource
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('VisData')
for Blast_ID in myl_list:
table.put_item(Item=str(Blast_ID))
我有一个 pandas 数据框,如下所示:
Blast_ID Campaign Campaign ID Basic rate Market cost
ab12 Glass 20 220
ab34 Glass 234
ab56 Plastic 55 245
ab87 Plastic 10
我使用以下代码将具有 float64 数据类型的列转换为整数(df 是数据框):
for i in df.columns:
print(i)
print(df[i].dtypes)
datatype = df[i].dtype
df = df.fillna(0)
if datatype == 'float64':
print('yes')
df[i] = df[i].astype(int)
当我尝试使用以下代码将此数据帧上传到发电机数据库时仍然如此:
myl_list = df1.T.to_dict().values()
print(myl_list)
#read the dynamo resource
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('VisData')
for Blast_ID in myl_list:
table.put_item(Item=Blast_ID)
它给我的错误是:
"errorMessage": "Float types are not supported. Use Decimal types instead."
我该如何解决?非常感谢
在输入 table:
之前尝试转换成字符串myl_list = df1.T.to_dict().values()
print(myl_list)
#read the dynamo resource
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('VisData')
for Blast_ID in myl_list:
table.put_item(Item=str(Blast_ID))