pandas常用函数,个人常用的

1.创建DataFrame

import numpy as np
import  pandas as pd
data = {"姓名":["张三","小明","李强","汪小小","李四","王麻子","余总","肖强"],
       "score":[85,90,70,67,68,np.nan,100,86]}

data=pd.DataFrame(data)
print(data)

2.数据提取
提取姓名为余总的行

result=data[data['姓名'].str.contains("余总")]
print(result)

3.提取列名

print(data.columns)

4.修改列名
修改第二列名字

data.rename(columns={'score':'分数'}, inplace = True)

5.缺失值处理
前向插值

data['score'] = data['score'].fillna(data['score'].interpolate())

ng)
6.数据提取

print(data[data['score']>90])

7.数据求重

data.drop_duplicates(['姓名'])

8.数据计算
求平均值

data['score'].mean()

9。数据范围提取

c=data[(data['score']>70) & (data['score']<90)]
print(c)

ng)
9.数据查看

data.head()#查看前5行
data.tail()#查看后5行

10.数据整理排序

c=data.sort_values('score')
print(c)

11.数据拼接

pd.concat([df1, df2],axis=1

12.数据计算

c=data[['score']].apply(lambda x: x.max() - x.min())
print(c)

12:时间数据特征构造
数据为其他数据,非上文数据,就不展示啦
localminute为数据的时间列

use_data.loc[:, 'localminute'] = pd.to_datetime(use_data['localminute'],format='%Y-%m-%dT%H:%M:%S')
# 几时
use_data.loc[:, 'hour'] = use_data['localminute'].apply(lambda x: x.hour)
# 几号
use_data.loc[:, 'dom'] = use_data['localminute'].apply(lambda x: x.day)
# 几月
use_data.loc[:, 'month'] = use_data['localminute'].apply(lambda x: x.month)

13.新列添加方法1:


```python
use_data['State']=''
use_data.loc[use_data['refrigerator']==0,'State']=0
use_data.loc[use_data['refrigerator']>0,'State']=1
use_data.loc[use_data['refrigerator']>0.07,'State']=2

14.新列添加方法2

use_data.loc[:,'State']=use_data['furnace1'].apply(lambda x: 0 if x<=0.1 else 1)#

15.某一列向下平移 并去掉平移后的空值

data['use1']=data.groupby('dataid')['use'].shift(1)
data['use2']=data.groupby('dataid')['use'].shift(2)
data['use3']=data.groupby('dataid')['use'].shift(3)#平移
data['use1差值']=data.groupby('dataid')['use'].diff(1)#差值
data['use2差值']=data.groupby('dataid')['use'].diff(2)
data['use3差值']=data.groupby('dataid')['use'].diff(3)
data= data.dropna()#去均值

15 修改列名:

#df=traindf1[['timestamp','value']]#原始列名
df = df.rename(columns={'timestamp':'时间'})#修改列名代码

16 按条件删除行

df = df.drop(df[<some boolean condition>].index)
#index 行
例子:
df_clear = df.drop(df[df['x']<0.01].index)
# 也可以使用多个条件
df_clear = df.drop(df[(df['x']<0.01) | (df['x']>10)].index) #删除x小于0.01或大于10的行

猜你喜欢

转载自blog.csdn.net/kobeyu652453/article/details/106355922