python - Pandas appending .0 to a number -


i'm having issues pandas i'm little baffled on. have file lot of numeric values not need calculations. of them coming out fine, have couple getting ".0" appended end.

here sample input file:

id1         id2      age     id3 "sn19602","1013743", "24", "23523" "sn20077","2567897", "28", "24687" 

and output being generated:

id1         id2      age     id3 "sn19602","1013743.0", "24", "23523" "sn20077","2567897.0", "28", "24687" 

can explain why not of numeric values getting .0 appended, , if there way can prevent it? problem when perform next step of process csv output.

i have tried convert data frame , column string did not make impact. ideally not want list each column convert because have large number of columns , manually have go through output file figure out ones getting .0 appended , code it. suggestions appreciated.

import pandas pd import csv  df_inputfile = pd.read_csv("inputfile.csv") df_mappingfile = pd.read_csv("mappingfile.csv") df_merged = df_inputfile.merge(df_mappingfile, left_on="id", right_on="id", how="left") #this isn't affecting output df_merged.astype(str) df_merged.to_csv("output.csv", index=false, quoting=csv.quote_all) 

pandas.dataframe.to_csv has parameter float_format, takes regular float formatting string. should work:

df_merged.to_csv("output.csv", index=false, quoting=csv.quote_all, float_format='%.0f') 

Comments

Popular posts from this blog

javascript - AngularJS custom datepicker directive -

javascript - jQuery date picker - Disable dates after the selection from the first date picker -