import pandas as pd import numpy as np # Series通过传递值列表来创建 a,让 pandas 创建一个默认整数索引: s=pd.Series([1,3,5,np.nan,6,8]) print(s) # DataFrame通过传递一个 NumPy 数组、一个日期时间索引和标签列来创建一个: dates = pd.date_range("20130101", periods=6) print(dates) # 6行4列,列名分别为A B C D df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD")) print(df)
# DataFrame通过传递可以转换为类似系列结构的对象字典来创建 a
#[3] * 4 列表[ ]
df2 = pd.DataFrame( { "A": 1.0, "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(df2)
# 结果的列DataFrame具有不同的dtypes: print(df2.dtypes)
# 如果您使用的是 IPython,则会自动启用列名(以及公共属性)的制表符补全。这是将要完成的属性的子集:print(df. ) print(df2.A)
# 查看数据 # 查看框架顶部和底部行的方法: print(df.head()) print(df.tail(3))
# 显示索引,列: print(df.index)
print(df.columns)
# 对于df,我们DataFrame的所有浮点值, DataFrame.to_numpy()速度很快并且不需要复制数据: print(df.to_numpy())
print(df2.to_numpy())
# describe()显示数据的快速统计摘要: print(df.describe())
# 按轴排序: print(df.sort_index(axis=1, ascending=False))
# 按值排序: print(df.sort_values(by="B"))
# Getting # 选择单个列,这会产生 a Series,相当于df.A: print(df["A"])
# 选择 via [],对行进行切片: print(df[0:3]) print(df["20130102":"20130104"])
# 按标签选择 # 使用标签获取横截面: print(df.loc[dates[0]])
# 按标签在多轴上选择: print(df.loc[:, ["A", "B"]])
# 显示标签切片,包括两个端点: print(df.loc["20130102":"20130104", ["A", "B"]])
# 返回对象的尺寸减小: print(df.loc["20130102", ["A", "B"]])
# 获取标量值: print(df.loc[dates[0], "A"])
# 快速访问标量(相当于先前的方法): print(df.at[dates[0], "A"])