📅  最后修改于: 2023-12-03 15:40:48.978000             🧑  作者: Mango
熊猫(Pandas)是一种基于Python语言的数据分析工具,旨在解决数据分析任务中常见的问题。它是强大、灵活、便于使用且高效的开源数据分析和操作库。熊猫提供了DataFrame和Series两种主要的数据结构,可以进行数据清洗、转换、切片和切块等大量的操作。
使用pip安装熊猫:
pip install pandas
还可以使用anaconda安装,这将自动安装常见的科学计算包,包括熊猫:
conda install pandas
创建一个Series对象:
import pandas as pd
s = pd.Series([1,3,5,np.nan,6,8])
print(s)
输出:
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
创建一个DataFrame对象:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': 1.,
'B': pd.Timestamp('20130102'),
'C': pd.Series(1,index=list(range(4)),dtype='float32'),
'D': np.array([3] * 4,dtype='int32'),
'E': pd.Categorical(["test","train","test","train"]),
'F': 'foo'
})
print(df)
输出:
A B C D E F
0 1.0 2013-01-02 1.0 3 test foo
1 1.0 2013-01-02 1.0 3 train foo
2 1.0 2013-01-02 1.0 3 test foo
3 1.0 2013-01-02 1.0 3 train foo
对于数据操作,熊猫提供了多个方法,例如选择、切片、排序和分组等。
选择列:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
# 选择列A
print(df['A'])
输出:
2013-01-01 0.469112
2013-01-02 0.282863
2013-01-03 -1.509059
2013-01-04 -1.135632
2013-01-05 1.212112
2013-01-06 -0.173215
Freq: D, Name: A, dtype: float64
选择行:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
# 选择前三行
print(df[:3])
输出:
A B C D
2013-01-01 -2.552989 0.381152 1.211839 -0.745638
2013-01-02 -1.665470 -1.401973 0.009552 1.734391
2013-01-03 0.462056 1.155010 -0.717630 -0.530417
排序:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
# 对列A排序
print(df.sort_values(by='A'))
输出:
A B C D
2013-01-03 -1.751054 -0.917130 -0.233117 -0.987949
2013-01-05 -1.282444 -0.456732 -2.651529 1.265936
2013-01-01 -0.674289 -0.077475 -0.646845 -1.049253
2013-01-06 -0.335331 -0.042111 -0.219404 0.987504
2013-01-04 0.046241 1.727044 -0.001306 -0.151021
2013-01-02 1.008034 0.623040 -0.671731 -1.321564
分组:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C' : np.random.randn(8),
'D' : np.random.randn(8)
})
print(df.groupby('A').sum())
输出:
C D
A
bar 0.188780 -1.322120
foo -0.510668 -2.172349
熊猫是一种强大、高效且易于使用的数据分析和操作工具。它可以轻松地处理不规则、稀疏或混乱数据,并广泛支持各种输入和输出格式。如果你需要进行数据分析或清理工作,熊猫是一个绝对值得尝试的工具。