Python 从列表对象创建DataFramr
我得到一个错误:Python 从列表对象创建DataFramr,python,pandas,Python,Pandas,我得到一个错误: dobj = {'reflectivity':pd.Series(np.array(gate_reflectivity)),#,index =list(range(len(gate_reflectivity)))), 'RainRate':pd.Series(np.array(gate_RainRate)), #,index =list(range(len(mmlits)))), 'Rainmm':pd.Series(np.array(Rainm
dobj = {'reflectivity':pd.Series(np.array(gate_reflectivity)),#,index =list(range(len(gate_reflectivity)))),
'RainRate':pd.Series(np.array(gate_RainRate)), #,index =list(range(len(mmlits)))),
'Rainmm':pd.Series(np.array(Rainmm)) #,index =list(range(len(RainRate))))
}
d = pd.DataFrame(dobj,columns =['reflectivity','RainRate','Rainmm'])
new_file = filenamex[:-2]+'txt'
open(new_file,'w')
np.savetxt(new_file,d,fmt='%10.5f',delimiter = ",",header =['reflectivity','RainRate','Rainmm'])
请帮助我您可以使用参数float\u格式
:
header = header.replace('\n', '\n' + comments)
AttributeError: 'list' object has no attribute 'replace'
请格式化您的代码。我正在从.Nc文件中提取一些变量并将它们写入新文件,并给出标题以了解哪个参数出现在哪个列中。超级,您可以添加
.Nc
文件(3,4行)的示例吗?
import pandas as pd
gate_reflectivity = [0,10.458682222]
gate_RainRate = [2,3.458771111]
Rainmm = [5,32.78542333333]
#if length of list is equal, omit index
dobj = {'reflectivity':pd.Series(gate_reflectivity),
'RainRate':pd.Series(gate_RainRate),
'Rainmm':pd.Series(Rainmm)
}
d = pd.DataFrame(dobj,columns =['reflectivity','RainRate','Rainmm'])
print (d)
reflectivity RainRate Rainmm
0 0.000000 2.000000 5.000000
1 10.458682 3.458771 32.785423
#testing
print (d.to_csv(float_format='%10.5f', index=False))
reflectivity,RainRate,Rainmm
0.00000, 2.00000, 5.00000
10.45868, 3.45877, 32.78542
#writing
filenamex = 'aaaaa.Nc'
new_file = filenamex[:-2] + 'txt'
d.to_csv(new_file, float_format='%10.5f', index=False)