pandas.Series
一维数组/向量
定义
a = pd.Series([1, 2, 3, 'a']) # 不指定索引
>> 0 1
1 2
2 3
3 a
dtype: object
a = pd.Series([1, 2, 3, 'a'], index=['a', 'b', 'c','d']) # 指定索引
>> a 1
b 2
c 3
d a
dtype: object
print(a.index)
>> Index(['a', 'b', 'c', 'd'], dtype='object')
a['a'] >> 1
a[['a']] #注意与上面的区别
>>
a 1
dtype: object
a[['a','d']]
>>
a 1
d a
dtype: object
3.1 pandas.DataFrame
3.1.1 Constructor
# Constructor
d = {'uage':['35-40', '25-30'], 'ugender':['male', 'female'], 'ulevel':[3, 4]}
df = pd.DataFrame(data = d)
"""
uage ugender ulevel
0 35-40 male 3
1 25-30 female 4
"""
# Constructor_from_numpy
n = np.array([['35-40', 'male', 3], ['25-30', 'female', 4]])
df2 = pd.DataFrame(n, columns=['uage', 'ugender', 'ulevel'])
# DataFrame.Attribute
print("index:",df.index) #index: RangeIndex(start=0, stop=2, step=1)
print("columns:",df.columns) # columns: Index(['uage', 'ugender', 'ulevel'], dtype='object')
print("dtype:\n",df.dtypes)
3.1.2 index
# .at : access a single value
# .iat: access a single value by integer position
print(df.at[1, 'ulevel']) # 4
df.at[1, 'ulevel']=5
print(df.at[1, 'ulevel']) # 5
print(df.iat[1, 2]) # 5
# .loc: access a group of rows and columns by labels or a boolean array
df3 = pd.DataFrame(n, index=['0105', '0106'], columns=['uage', 'ugender', 'ulevel'])
print("only one row:\n",df3.loc['0105'])
print("\nmultiple rows:\n", df3.loc[['0105', '0106']]) #注意与下面的差别
print("\nrow and column:\n", df3.loc['0105', 'ugender'])
print("\nmultiple columns:\n", df3.loc[:, ['ugender', 'uage']])
print("\n其他索引方式\n")
print("Boolean:\n",df.loc[[False, True]]) # same length as the row axis