更多内容可以关注我的Github主页:https://github.com/forestfangsenlin
目录
1.Pandas.read_csv()
定义:
读取数据路径中的数据,返回.pd格式的数据类型。
具体用法:
pd.read_csv(DATA_PATH)
范例:
TEST\_PATH = "../test.csv" # 省略号前为绝对路径。
test_data = pd.read_csv(TEST\_PATH)
2.Pandas.DataFrame.head()
定义:
show阵列前5行数据。
具体用法:
data.head()
范例:
比如我要查看test_data的前5行数据:
test_data.head()
输出为:
3.Pandas.DataFrame.drop()
定义:
去除某一行或者某一列的数据。
具体用法:
data.drop(columns=[‘columns_label’], rows=[‘rows_label’], inplace=True)
columns和rows可只写其中之一。
范例:
假如我要去除time列的数据:
test_data.drop(columns=['time'], inplace=True)
输出为:
4.Pandas.DataFrame.loc()
定义:
通过labels获取list或布尔阵列中的一组行或列。
具体用法:
data.loc[‘Column_label’, ‘Row_label’]
或
data.loc[‘Column_label_start : Column_label_end’, ‘Row_label_start : Row_label_end’]
可以只写Column的label而空着Row的label。
其方式类似于numpy矩阵x,y坐标定位方式,当我要找到nums矩阵(x1,y1)坐标上的值,只用输入nums[x1, y1]就可;而data.loc定的是pandas上的位,我要找到list或布尔上(label1, label2)的值,使用data.loc[‘label1’, ‘label2‘]即可。
例程:
假如如下数据中:
df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
index=['猪', '猫', '鸟'],
columns=['最大速度', '隐藏能力'])
如果我想索引猫那一行:
最快速度 | 隐藏能力 | |
---|---|---|
猪 | 1 | 2 |
猫 | 4 | 5 |
鸟 | 7 | 8 |
我只需要:
df.loc['猫']
输出为:
最大速度 4
隐藏能力 5
Name: 猫, dtype: int64
如果我想找到猫和鸟的那一行:
最快速度 | 隐藏能力 | |
---|---|---|
猪 | 1 | 2 |
猫 | 4 | 5 |
鸟 | 7 | 8 |
我只需要多加一个括号:
df.loc[['猫', '鸟']]
输出为:
最大速度 隐藏能力
猫 4 5
鸟 7 8
如果我只想找到鸟的最快速度:
最快速度 | 隐藏能力 | |
---|---|---|
猪 | 1 | 2 |
猫 | 4 | 5 |
鸟 | 7 | 8 |
我只需要:
df.loc['鸟', '最快速度']
输出为:
最大速度 8
Name: 最大速度, dtype: int64
我们也可以找大于某个值的列或行,例如找隐藏能力大于6的行:
df.loc[df['隐藏能力'] > 6]
输出为:
最大速度 隐藏能力
鸟 7 8
或者我们也可以找隐藏能力大于6的,其最大速度的那一个或一列值:
df.loc[df['隐藏能力'] > 6, ['最大速度']]
输出为:
最大速度
鸟 7