官方文档地址: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86# 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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复