pandas

1.数据创建

series

import pandas as pd
#Series, 一维数组
a = pd.Series([9,8,7,6])
b = pd.Series([9,8,7,6],index=['a','b','c','d']) #带有索引
# 字典创建
d = pd.Series({"a":9,"b":8,"c":7})

dataframe

# DataFrame
d=pd.DataFrame(np.arange(10).reshape(2,5))
# 字典创建
dt = {"one" : np.arange(4),
    "two": np.arange(5)}
# 添加一行
data = data.append(new,ignore_index=True)
# 删除某些列
data.drop('column_name', axis=1)

索引名与列名

d.index, d.columns #返回的是一个列表,数据类型为string

数据的复制

来源于https://blog.csdn.net/qq_38412868/article/details/109703731

id(data) #查看数据的存储地址
data_new = data.copy()
id(data), id(data.copy()) #可以发现是不一致的
data[data!=0]=0 #所有数据赋值为0

2. 索引

2.1设置索引

df.iloc[0], df.loc['a'] # 指定行列
df["id"]

#重新定义索引
d = d.reindex(index = ['d','c','b','a']) #行
d = d.reindex(columns = ['two','one']) #列

b.set_index(0) #设置0列,为索引
b.reset_index()
b.reset_index(drop = True) #重新设置索引

详细请参考

https://blog.csdn.net/qq_43192537/article/details/108421452

2.2排序

b.sort_index() #排序
b.sort_index(ascending=False) #降序

2.3Nan/Null

# 查看nan值存在
data.isna()
data.isnull()

data["new"].isna() #查看满足特定条件的行 

3.运算

3.1逻辑运算

 #查看单个元素c是否在b中,b可以是series,list, numpy 
 c in b
# 提取特定的行/索引
c[c["id"] != 0] #形成切片
c["new"][c["id"] != 0] #在提取特定的列

data[data.columns[0:2]] #提取前两列

下面该条来自https://www.cnblogs.com/ech2o/p/11831488.html

# 选取某个属性在指定列表中的所有行记录
df[(df['column_name'].isin(list))]
# 若选取不在列表中的行记录,加上'~'即可,即
df[~(df['column_name'].isin(list))]

3.2算术运算

算术运算必须对应索引、对应列,索引不存在、列不存在,默认为NaN。NaN值和元素加减乘除都是NaN。

b+b, a * b

b.add(a,fill_value=0) #可以将NaN替换为0

3.3统计函数

.count() #计算非NaN
.describe() #查看基本信息,返回的是一个dataframe
.cov() #协方差
.corr() #相关系数

4.数据的连接

4.1pd.concat连接

行拼接

pd.concat([df1, df2], join = "outer", sort = True) #外连接,并列进行排序
pd.concat([df1, df2], join = "inner", sort = True) #内连接

列拼接

pd.concat([df1, df2], join = "inner", axis=1, sort = False)
pd.concat([df1, df2], join = "outer", axis=1, sort = False)

4.2 merge

df1.merge(df2)
df2.merge(df1)

5.数据存储

data.to_excel('D:\\data\\post.xlsx', sheet_name = 'data') #存储为xlsx
data.to_csv('D:\\data\\post.csv', header=False, index=False) #存储为csv

data = pd.read_csv('D:\\data\\post.csv',decimal=',',
					header=None, skiprows=1)
data = pd.read_excel('D:\\data\\post.csv', sheet_name = 'data')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值