pandas 中上下两行相减(隔行相减) -- shift函数的使用
最近使用pandas处理数据,需求是想相邻两行上下相减,查API发现shift函数,很灵活,。你也可以隔任意行相减。
p['xx_1'] = p["xx"].shift(1)
上面得到的就是xx字段向下移动一行的结果,和之前相比向下移动一行,你可以设置为任意行,也可是向上向下
p['xx'] - p["xx_1"]
这就是前后两行的差值,很方便,Pandas很强大
pandas 中上下两行相减(隔行相减) -- shift函数的使用最近使用pandas处理数据,需求是想相邻两行上下相减,查API发现shift函数,很灵活,。你也可以隔任意行相减。p['xx_1'] = p["xx"].shift(1)上面得到的就是xx字段向下移动一行的结果,和之前相比向下移动一行,你可以设置为任意行,也可是向上向下p['xx'] - p["xx_1"]这就是前后两行的差值,...
计算value这列向上移一
行
的值,放到value1
中
,最后一
行
置空
df["value1"] = df["value"].
shift
(-1)
df["value1"]
计算value这列向下移一
行
的值,放到value2
中
,第一
行
置空
df["value2"] = df["value"].shi
在
pandas
中
,两列日期类型数据
相减
可以
使用
减法运算符,结果会得到一个 Timedelta 类型。如果要求结果为整数类型,可以
使用
其 dt 属性
中
的 total_seconds 方法,来获取时间间隔的总秒数,再进
行
整数类型转换。
示例代码如下:
import
pandas
as pd
df['date_difference'] = (df['date2'] - df['date1']).d...
1.diff()
函数
df['1].diff()
结果第一个结果为NAN。
2.
shift
()
函数
:df['1'].
shift
(-1) - df['1'] 代表下一
行
减去上一
行
。
结果最后一
行
值为NAN。
Series.
shift
(periods=1, freq=None, axis=0, fill_value=None)
3.
pandas
对单列、多列进
行
计算
对多列进
行
公式计算:
https://blog.csdn.net/zwhooo/article/details/79696558
a=np.array([['北京','北方','一线','非沿海'],['杭州','南方','二线','非沿海'],['深圳','南方','一线','沿海'],['烟台','北方','三线','沿海']])
df1=pd.DataFrame(a,index=[1,2,3,4],columns=['城市','地理','级别','是否沿海'])
城市 地理 级别 是否沿海
1 北京 北方 一线 非沿海
2 杭州 南方 二线 非沿海
3 深圳 南方 一线 沿海
4 烟台 北方 三线 沿海
假如我们把
有时候我们需要判断相邻
两行
关系,比如想去除掉相邻
两行
某个字段相同的数据
行
。
比如我们可以写一个循环,判断每一
行
与上一
行
的关系
但是
pandas
已经有了现成的
函数
供我们
使用
diff
函数
pandas
.Series.diff
Calculates the difference of a Series element compared with another element in the Ser...
df = pd.read_csv('离线数据.csv')
#新建一个Dataframe
df_data = pd.DataFrame(columns=['总数','人数','平均值'])
df_data[['总数','人数']] = df
#1、
使用
apply
函数
df_data['平均值'] =df_data.a...
pandas
常用csv操作增加一列数据并赋值两列时间
相减
按时间合并且求和
增加一列数据并赋值
有时候可能会遇到需要增加一列数据,例如增加一列全为1的数据,方便按时间合并
行
过后统计次数。
df['xxx number'] = 1
两列时间
相减
使用
pandas
求两列时间的差,也就是统计csv数据集种某个任务持续的时间
df['end time'] = pd.to_datetime(df['end time'])
df['start time'] = pd.to_datetime(df['start time
>>> df = pd.DataFrame({'angles': [0, 3, 4],
... 'degrees': [360, 180, 360]},
... index=['circle', 'triangle', '...
AttributeError: module cv2.cv2 has no attribute create ThinPlateSplineShapeTransformer 报错
数字图像处理-- 图像插值方法及其实现代码