pandas处理数据笔记

x1=[12,435,23]
x2=[21,42,452]
x3 = map(lambda x,y:x-y,x1,x2)
print x3
x3_1 = map(lambda x:x**2,x3)
print x3_1
x3_sum = sum(x3_1)
print x3_sum

计算航向角与航迹角的偏差,对DataFrame的列进行计算处理

import pandas as pd
import math
import matplotlib as mpl  
mpl.use('Agg')  
import matplotlib.pyplot as plt

ans=pd.read_table(r'/home/wanghan/AMAP_intern/dataAnalysis/Yaw and Flight Path comparision/trajectory5961-5985.txt',sep=',')

ans=ans[(ans['time_stamp'] > 5961) & (ans['time_stamp'] < 5985) & (ans['index'] % 60 == 1)]
ans.reset_index().to_csv(r'./Yaw and Flight Path comparision/down_sample_trajectory5961-5985.txt',index=False)

yaw_angle = ans['yaw(deg)']
yaw_angle = yaw_angle.values
s1 = ans.x.diff() //得到的是series类型
s2 = ans.y.diff()
s3 = s1/s2

a1= s3.values
a2 = map(lambda x:math.atan(x),a1) 
a3 = map(lambda x:math.degrees(x)+180, a2)

bias = yaw_angle - a3
bias_ = pd.DataFrame(bias)
bias_.columns = ['angle_bias']

plt.figure()
plt.title("angle_bias")
# plt.xlabel("time")
plt.ylabel("degree")
plt.plot(bias_.index,bias_['angle_bias'])
plt.show()
plt.savefig('3.png')

给yaw这一列都加上一个数

df1=pd.read_table(r'D:\Kevin\Alibaba_summer\Amap_Intern\test1.txt',sep=',')
df1.loc[:,'yaw(deg)'] = df1.loc[:,'yaw(deg)'] + 0.333
df1.to_csv(r'D:\Kevin\Alibaba_summer\Amap_Intern\test2.txt', sep=',',index=False)

根据时间这一列,把其他列按照时间相减 .set_index('根据的列名')

df1 = pd.read_table(r'D:\Ubuntu_disk\test1.txt', sep = ',')
df2 = pd.read_table(r'D:\Ubuntu_disk\test2.txt', sep = ',')
ans = df1.set_index('time_stamp') - df2.set_index('time_stamp')
ans = ans.reset_index()

多张图画在同一张图上

python Matplotlib 可视化总结归纳(二) 绘制多个图像单独显示&多个函数绘制于一张图

对某一列的某一个值按照条件进行处理

[dataframe 针对列条件赋值]

#常规方式
import pandas as pd

df = pd.DataFrame({'one':['a', 'a', 'b', 'c'], 'two':[3,1,2,3], 'three':['C','B','C','A']})
print(df)

df.loc[df['two']==2, 'one']='x' #修改列"one"的值,推荐使用.loc
print(df)

df.one[df.two==2]='x'
print(df)

DataFrame选取偶数行和奇数行

#%% 
import pandas as pd
import numpy as np
#%%
np.random.seed(1071)
df = pd.DataFrame(
        np.random.randint(1, 30, (7, 2)), columns=list('AB'), 
        index=range(1, 8)
)
#
#    A   B
#1  28  22
#2  17  13
#3  10   3
#4  19  25
#5   2   6
#6  22  27
#7  28  26

df.iloc[::2] # 奇数行
#    A   B
#1  28  22
#3  10   3
#5   2   6
#7  28  26

df.iloc[1::2] # 偶数行
#    A   B
#2  17  13
#4  19  25
#6  22  27

Python pandas.DataFrame.cumsum函数方法的使用

https://www.cjavapy.com/article/376/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容