end附1:驼峰式命名法则
end附2:“XZC6-1型船用自动气象仪”的数据格式说明
做XZC6-1气象数据的数据处理
原始dataframe的column命名比较乱导致出现了一系列问题。
data.columns=["XZC611","DATETIME","T","LON","L","LAT","O","SOG.S","COR.C","G","SSS.S","H","V","DDD.D",
"F","J","A1","A2","B1","B2","C1","C2","D_winspeed","D_windir",
"YY","Z_AIRPRES","Q_AIRTEMP","W","R","H","T","UQ_WATTEM","YY.YYY","ZZCR"]
问题1:
for column in data:
if data[column].dtype== data.D_winspeed.dtype:
总是报“'DataFrame' object has no attribute 'dtype'”的错误;经同事检查,data不是所有的column都是由dtype属性的。
最后发现问题在“T”列上。
仔细看,我居然命名了两个T列,而且data.T 应该是dataframe的转置,不能用来命名。
问题就在列名不规范上,这个困扰了我两天的问题啊!!!!!
1)驼峰式命名Camel-Case:函数名中的每一个逻辑断点都有一个大写字母来标记
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
int myStudentCount;
2)“XZC6-1型船用自动气象仪”每分钟纪录一组数据,每组数据格式如下:
$XZC611,YYMMDDHHMMSS,T,NNNN.NNNN,L,EEEEE.EEEE,O,SOG.S,COR.C,G,SSS.S,H,V,DDD.D,F,J,16,AA.A,AAA,BB.B,BBB,CC.C,CCC,DD.D,DDD,YYYY.Y,ZZZZ.Z,QQQ.Q,WWW.W,RRR,HHH,TTT.T,UUU.U,YY.YYY,ZZ(CR)(LF)
每组数据固定长度纪录,当其中的某些要素由于某种原因不能观测时,其数据项用相应的N个X填充。
其中:
XZC611为:输出数据标志符,XZC61气象仪型号,1为输出格式版本号。
YYMMDDHHMMSS为:年月日时分秒。
T为:气象仪时标选择,0表示世界时;1表示北京时。
NNNN.NNNN为:纬度。格式为度度分分. 分分分分。 4
L:南北半球标志。S-南半球;N-北半球。
EEEEE.EEEE:经度。格式为度度度分分. 分分分分。 5
O:东西半球标志。E-东半球;W-西半球。
SOG.S:GPS输出的航速,单位为节 6
COR.C:GPS输出的航向,单位为度 7
G:GPS定位状态:0-GPS无输出数据;1-GPS不能定位;2-GPS输出数据有效。 8
SSS.S:计算真风使用的航速,单位:节。 9
H:航速来源:0- 人工输入;1-
GPS;2- 计程仪。 10
V:航速质量符:0-数据无效;1-数据有效。 11
DDD.D:计算真风用船向,单位:度。 (12)
F:航向来源:0-人工输入;1-
GPS;2-来自罗经板。
J:航向质量符:0-数据无效;非0-数据有效。
AA.A,AAA:瞬时相对于船的风速、风向,单位m/s和 度。 15
BB.B,BBB:瞬时的真风速、真风向,单位m/s和 度。 17
CC.C,CCC:1分钟平均真风速真风向,单位m/s和 度。 19
DD.D,DDD:10分钟平均真风速真风向,单位m/s和 度。 21
YYYY.Y:瞬时气压,单位hPa。 23
ZZZZ.Z:1分钟平均气压,单位hPa。 24
QQQ.Q:瞬时气温,单位摄氏度,温度第一位为符号位。 25
WWW.W:1分钟平均气温,单位摄氏度,温度第一位为符号位。 26
RRR:瞬时相对湿度数据。
HHH:1分钟相对湿度数据。 28
TTT.T:瞬时水温,单位摄氏度,温度第一位为符号位。 29
UUU.U:1分钟平均水温,单位单位摄氏度,温度第一位为符号位。 30
YY.YYY:能见度
ZZ:能见度质量标志符
网友评论