4.2. DataFrame Attributes¶
import pandas as pd
import numpy as np
np.random.seed(0)
df = pd.DataFrame(
columns = ['Morning', 'Noon', 'Evening', 'Midnight'],
index = pd.date_range('1999-12-30', periods=7),
data = np.random.randn(7, 4))
df
# Morning Noon Evening Midnight
# 1999-12-30 1.764052 0.400157 0.978738 2.240893
# 1999-12-31 1.867558 -0.977278 0.950088 -0.151357
# 2000-01-01 -0.103219 0.410599 0.144044 1.454274
# 2000-01-02 0.761038 0.121675 0.443863 0.333674
# 2000-01-03 1.494079 -0.205158 0.313068 -0.854096
# 2000-01-04 -2.552990 0.653619 0.864436 -0.742165
# 2000-01-05 2.269755 -1.454366 0.045759 -0.187184
4.2.1. Columns¶
df.columns
# Index(['Morning', 'Noon', 'Evening', 'Midnight'], dtype='object')
df.columns = ['A', 'B', 'C', 'D']
df
# A B C D
# 1999-12-30 1.764052 0.400157 0.978738 2.240893
# 1999-12-31 1.867558 -0.977278 0.950088 -0.151357
# 2000-01-01 -0.103219 0.410599 0.144044 1.454274
# 2000-01-02 0.761038 0.121675 0.443863 0.333674
# 2000-01-03 1.494079 -0.205158 0.313068 -0.854096
# 2000-01-04 -2.552990 0.653619 0.864436 -0.742165
# 2000-01-05 2.269755 -1.454366 0.045759 -0.187184
df.columns
# Index(['A', 'B', 'C', 'D'], dtype='object')
4.2.2. Indexes¶
df.index
# DatetimeIndex(['1999-12-30', '1999-12-31', '2000-01-01', '2000-01-02',
# '2000-01-03', '2000-01-04', '2000-01-05'],
# dtype='datetime64[ns]', freq='D')
df.index = [0, 1, 2, 3, 4, 5, 6]
df
# A B C D
# 0 1.764052 0.400157 0.978738 2.240893
# 1 1.867558 -0.977278 0.950088 -0.151357
# 2 -0.103219 0.410599 0.144044 1.454274
# 3 0.761038 0.121675 0.443863 0.333674
# 4 1.494079 -0.205158 0.313068 -0.854096
# 5 -2.552990 0.653619 0.864436 -0.742165
# 6 2.269755 -1.454366 0.045759 -0.187184
df.index
# Int64Index([0, 1, 2, 3, 4, 5, 6], dtype='int64')
4.2.3. Values¶
df.values
# array([[ 1.76405235, 0.40015721, 0.97873798, 2.2408932 ],
# [ 1.86755799, -0.97727788, 0.95008842, -0.15135721],
# [-0.10321885, 0.4105985 , 0.14404357, 1.45427351],
# [ 0.76103773, 0.12167502, 0.44386323, 0.33367433],
# [ 1.49407907, -0.20515826, 0.3130677 , -0.85409574],
# [-2.55298982, 0.6536186 , 0.8644362 , -0.74216502],
# [ 2.26975462, -1.45436567, 0.04575852, -0.18718385]])
values = np.zeros_like(df.values)
# array([[0., 0., 0., 0.],
# [0., 0., 0., 0.],
# [0., 0., 0., 0.],
# [0., 0., 0., 0.],
# [0., 0., 0., 0.],
# [0., 0., 0., 0.],
# [0., 0., 0., 0.]])
df.values = values
# Traceback (most recent call last):
# AttributeError: can't set attribute