In [1]:
import pandas as pd
import numpy as np
In [2]:
df_simple = pd.DataFrame(np.arange(12).reshape(3, 4))
In [3]:
print(df_simple)
In [4]:
print(df_simple.values)
In [5]:
print(type(df_simple.values))
In [6]:
print(df_simple.columns)
In [7]:
print(type(df_simple.columns))
In [8]:
print(df_simple.index)
In [9]:
print(type(df_simple.index))
In [10]:
print(list(df_simple.columns))
In [11]:
print(type(list(df_simple.columns)))
In [12]:
print(df_simple.columns.tolist())
In [13]:
print(type(df_simple.columns.tolist()))
In [14]:
df = pd.DataFrame(np.arange(12).reshape(3, 4),
columns=['col_0', 'col_1', 'col_2', 'col_3'],
index=['row_0', 'row_1', 'row_2'])
In [15]:
print(df)
In [16]:
print(df.columns)
In [17]:
print(type(df.columns))
In [18]:
print(df.index)
In [19]:
print(type(df.index))
In [20]:
print(df.columns.tolist())
In [21]:
print(type(df.columns.tolist()))
In [22]:
print(df.columns[0])
In [23]:
# df.columns[0] = 'Col_0'
# TypeError: Index does not support mutable operations
In [24]:
df.columns = ['Col_0', 'Col_1', 'Col_2', 'Col_3']
In [25]:
df.index = ['Row_0', 'Row_1', 'Row_2']
In [26]:
print(df)
In [27]:
# df.values = np.arange(12).reshape(3, 4) * 10
# AttributeError: can't set attribute
In [28]:
print(df['Col_1'])
In [29]:
print(type(df['Col_1']))
In [30]:
print(df.Col_1)
In [31]:
print(df.loc[:, 'Col_1'])
In [32]:
print(df.loc['Row_1', :])
In [33]:
print(type(df.loc['Row_1', :]))
In [34]:
print(df.loc['Row_1'])
In [35]:
print(df.loc[['Row_0', 'Row_2'], ['Col_1', 'Col_3']])
In [36]:
print(type(df.loc[['Row_0', 'Row_2'], ['Col_1', 'Col_3']]))
In [37]:
print(df.loc['Row_0', 'Col_1'])
In [38]:
print(type(df.loc['Row_0', 'Col_1']))
In [39]:
print(df.at['Row_0', 'Col_1'])
In [40]:
# print(df.at[:, 'Col_1'])
# TypeError: 'slice(None, None, None)' is an invalid key
In [41]:
print(df.iloc[[0, 2], [1, 3]])
In [42]:
print(df.iat[0, 1])
In [43]:
print(df.query('Col_0 > 2'))
In [44]:
df.loc[:, 'Col_1'] = [10, 50, 90]
In [45]:
print(df)
In [46]:
df.loc[:] = np.arange(12).reshape(3, 4) * 100
In [47]:
print(df)
In [48]:
# df.loc[:, 'Col_1'] = [10, 50, 90, 130]
# ValueError: Length of values does not match length of index
In [49]:
# df.loc[:] = np.arange(16).reshape(4, 4) * 100
# ValueError: cannot set using a slice indexer with a different length than the value
In [50]:
df_multi = pd.read_csv('data/src/sample_pandas_normal.csv', index_col=0)
In [51]:
print(df_multi)
In [52]:
print(df_multi.dtypes)