概述
官方文档地址: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
# coding=utf-8
import pandas as pd
import numpy
####### 创建df
dic = {
'name': ['zhangsan', 'lisi'],
'score': [80, 90]
}
df = pd.DataFrame(dic)
# 生成随机数填充的一个df
df = pd.DataFrame(numpy.random.randint(0, 100, size=(10, 4)), columns=list('ABCD'))
df = pd.DataFrame([['zhangsan', 80], ['lisi', 90]], columns=['name', 'score'])
########### 显示
print(df)
# name score
# 0 zhangsan 80
# 1 lisi 90
print(df.head(n=1)) # 开头第1行
print(df['score'][0]) # 80 分数列的第一行
# 获取行数
print(len(df), df['name'].count(), df.count()['name']) # 输出2 2 2
# 获取其中部分列 或者重新设置列顺序
print(df[['score', 'name']])
########### 修改
# 修改列名
df.columns = ['Name', 'Score']
# 修改行index
df.index = range(2, len(df) + 2)
print(df)
# Name Score
# 2 zhangsan 80
# 3 lisi 90
# 添加行 ignore_index后index会重新编号
df = df.append({
'Score': 100,
'Name': 'xiaoming'
}, ignore_index=True)
print(df)
# Name Score
# 0 zhangsan 80
# 1 lisi 90
# 2 xiaoming 100
### 统计运算
#axis=1表示计算每行的平均值 否则是每列(默认)
print(df['Score'].mean()) # 90.0
其他统计函数 参考本文最后
#### 切片
[], loc, iloc, at, iat, ix
df[1:5] 第1至第5行(不包含)
df[['Score']] 选择列
data.loc[1:5, ['Score', 'Name']] 选择index>=1 and index<=5的行
loc是根据值, iloc是根据第几行,而不是里面的值
# 以下两种输出一样
print(df[df['Score']>=90]['Name'])
print(df.loc[df['Score']>=90, 'Name']) # 性能更高
#### 类似sql 筛选 groupby join UNION
https://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html
#### 重新采样
tmp = df.resample('30S').mean() 30秒重新采样 并用这段时间的平均值填充
填充方法还有bfill() ffill等
### 相似合并
merge_asof https://pandas.pydata.org/pandas-docs/stable/generated/pandas.merge_asof.html
类似mean,其他的统计函数还有
count 非 NA 值的数量
describe 针对 Series 或 DF 的列计算汇总统计
min , max 最小值和最大值
argmin , argmax 最小值和最大值的索引位置(整数)
idxmin , idxmax 最小值和最大值的索引值
quantile 样本分位数(0 到 1)
sum 求和
mean 均值
median 中位数
mad 根据均值计算平均绝对离差
var 方差
std 标准差
skew 样本值的偏度(三阶矩)
kurt 样本值的峰度(四阶矩)
cumsum 样本值的累计和
cummin , cummax 样本值的累计最大值和累计最小值
cumprod 样本值的累计积
diff 计算一阶差分(对时间序列很有用)
pct_change 计算百分数变化
最后
以上就是俊逸荷花为你收集整理的Python pandas DataFrame操作的全部内容,希望文章能够帮你解决Python pandas DataFrame操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复