DataFrame
DataFrame是一个表格型的数据类型,每列值类型可以不同
DataFrame既有行索引index、又有列索引coulem
DataFrame常用二维数据表达,但也可以用多维数据表达
DataFrame的创建
-
基于Series创建
每列的index与columns的数量可以不相同的
如果没有为值,会根据行列索引自动补齐import pandas as pd dt = { 'one': pd.Series([7, 8, 9], index=['d', 'b', 'e']), 'two': pd.Series([1, 2, 3, 4], index=['a', 'c', 'd', 'b']) } df = pd.DataFrame(dt) print(df) one two a NaN 1.0 b 8.0 4.0 c NaN 2.0 d 7.0 3.0 e 9.0 NaN
根据索引查找,如果查不到,自动补齐
df = pd.DataFrame(dt, index=['a', 'b', 'c'], columns=['two', 'three']) print(df) two three a 1 NaN b 4 NaN c 2 NaN
-
通过列表类型的字典创建
每列的index与columns的数量相同的dt = { 'one': [1, 2, 3, 4], 'two': [9, 8, 7, 6] } df = pd.DataFrame(dt, index=['a', 'b', 'c', 'd']) print(df) one two a 1 9 b 2 8 c 3 7 d 4 6
dt = { '城市': ['北京', '上海', '广州', '深圳', '珠海'], '环比': [100, 140, 173, 157, 137], '同比': [70, 87, 55, 69, 72], '定基': [9, 8, 7, 6, 7] } df = pd.DataFrame(dt, index=['c1', 'c2', 'c3', 'c4', 'c5']) print(df) 城市 环比 同比 定基 c1 北京 100 70 9 c2 上海 140 87 8 c3 广州 173 55 7 c4 深圳 157 69 6 c5 珠海 137 72 7
取索index
print(df.index) Index(['c1', 'c2', 'c3', 'c4', 'c5'], dtype='object')
取
columns
print(df.columns) Index(['城市', '环比', '同比', '定基'], dtype='object')
取
values
print(df.values) [['北京' 100 70 9] ['上海' 140 87 8] ['广州' 173 55 7] ['深圳' 157 69 6] ['珠海' 137 72 7]]
获取其中一列
df[column]
print(df['同比']) c1 70 c2 87 c3 55 c4 69 c5 72 Name: 同比, dtype: int64
获取其中一行
df.loc['index'])
print(df.loc['c2']) 城市 上海 环比 140 同比 87 定基 8 Name: c2, dtype: object
获取其中某行某列具体值
df.df[column]['index'])
print(df['同比']['c2']) 87