In [1]:
import pandas as pd
In [2]:
df = pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=['x', 'y', 'z'])
print(df)
In [3]:
print(df.loc['x':'y']['a'])
In [4]:
df.loc['x':'y']['a'] = 100
In [5]:
print(df)
In [6]:
print(df.loc[['x', 'y']]['a'])
In [7]:
df.loc[['x', 'y']]['a'] = 0
print(df)
In [8]:
df.loc['x':'y', 'a'] = 10
print(df)
In [9]:
df.loc[['x', 'y'], 'a'] = 0
print(df)
In [10]:
print(df.iloc[[0, 1]]['a'])
In [11]:
# df.loc[[0, 1], 'a']
# KeyError: "None of [Int64Index([0, 1], dtype='int64')] are in the [index]"
In [12]:
# df.iloc[[0, 1], 'a']
# ValueError: Location based indexing can only have [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array] types
In [13]:
print(df.index[0])
In [14]:
print(df.index[1])
In [15]:
print(df.columns[0])
In [16]:
print(df.columns[1])
In [17]:
print(df.loc[[df.index[0], df.index[1]], 'a'])
In [18]:
print(df.iloc[:2]['a'])
In [19]:
print(df.loc[:df.index[2], 'a'])
In [20]:
print(df.loc[:df.index[2 - 1], 'a'])
In [21]:
df = pd.DataFrame({'a': [0, 1, 2], 'b': [3, 4, 5]}, index=['x', 'y', 'z'])
print(df)
In [22]:
df_slice = df.loc['x':'y']
print(df_slice)
In [23]:
print(df_slice['a'])
In [24]:
df_slice['a'] = 100
In [25]:
print(df_slice)
In [26]:
print(df)
In [27]:
df_list = df.loc[['x', 'y']]
print(df_list)
In [28]:
print(df_list['a'])
In [29]:
df_list['a'] = 0
print(df_list)
In [30]:
print(df)
In [31]:
df_slice['c'] = 0
In [32]:
print(df_slice)
In [33]:
df.at['x', 'a'] = 0
print(df)
In [34]:
print(df_slice)
In [35]:
df_slice_copy = df.loc['x':'y'].copy()
print(df_slice_copy)
In [36]:
df.at['x', 'a'] = 100
print(df)
In [37]:
print(df_slice_copy)