具體屬性和方法能夠參考官方API。html
pandas.DataFrame(data=None, index=None, columns=None)
參數註釋:python
經過等長的字典來建立數據幀,並能夠設置數據框的列名和行索引。字典存儲的是每列的數據:數據結構
import pandas as pd data = {'user':['小王','小李','小明'],'shcool':['清華','北大','科大'],'class':['數學','歷史','計算機']} df = pd.DataFrame(data) df
user | shcool | class | |
---|---|---|---|
0 | 小王 | 清華 | 數學 |
1 | 小李 | 北大 | 歷史 |
2 | 小明 | 科大 | 計算機 |
import pandas as pd data = [['小王','小李','小明'],['清華','北大','科大'],['數學','歷史','計算機']] columns = ['user','shcool','class'] df = pd.DataFrame(data,columns=columns) df
0 | 1 | 2 | |
---|---|---|---|
0 | 小王 | 小李 | 小明 |
1 | 清華 | 北大 | 科大 |
2 | 數學 | 歷史 | 計算機 |
import pandas as pd data = {'user':['小王','小李','小明'],'shcool':['清華','北大','科大'],'class':['數學','歷史','計算機']} df = pd.DataFrame.from_dict(data) df
user | shcool | class | |
---|---|---|---|
0 | 小王 | 清華 | 數學 |
1 | 小李 | 北大 | 歷史 |
2 | 小明 | 科大 | 計算機 |
import pandas as pd data = {'user':['小王','小李','小明'],'shcool':['清華','北大','科大'],'class':['數學','歷史','計算機']} df = pd.DataFrame.from_dict(data)
df.index
RangeIndex(start=0, stop=3, step=1)
df.columns
Index(['user', 'shcool', 'class'], dtype='object')
df.shape
(3, 3)
df.axes
[RangeIndex(start=0, stop=3, step=1), Index(['user', 'shcool', 'class'], dtype='object')]
df.axes[0]
RangeIndex(start=0, stop=3, step=1)
df.axes[1]
Index(['user', 'shcool', 'class'], dtype='object')
df.dtypes
user object shcool object class object dtype: object
df.values
array([['小王', '清華', '數學'], ['小李', '北大', '歷史'], ['小明', '科大', '計算機']], dtype=object)
df.values[0]
array(['小王', '清華', '數學'], dtype=object)
import pandas as pd data = {'user':['小王','小李','小明'],'shcool':['清華','北大','科大'],'class':['數學','歷史','計算機']} df = pd.DataFrame.from_dict(data)
經過爲一個新列賦值來向數據框中追加新列,新列始終處於列名序列的末尾:app
df['createtime']=['1910','1900','1965'] df
user | shcool | class | createtime | |
---|---|---|---|---|
0 | 小王 | 清華 | 數學 | 1910 |
1 | 小李 | 北大 | 歷史 | 1900 |
2 | 小明 | 科大 | 計算機 | 1965 |
要制定新列的位置,須要使用insert()函數,該函數向數據框中插入一列,並制定新列的位置:函數
DataFrame.insert(self, loc, column, value)
參數註釋:spa
df.insert(1,'score',[98,99,99.5]) df
user | score | shcool | class | createtime | |
---|---|---|---|---|---|
0 | 小王 | 98.0 | 清華 | 數學 | 1910 |
1 | 小李 | 99.0 | 北大 | 歷史 | 1900 |
2 | 小明 | 99.5 | 科大 | 計算機 | 1965 |
df.insert(1,'age',22) df
user | age | score | shcool | class | createtime | |
---|---|---|---|---|---|---|
0 | 小王 | 22 | 98.0 | 清華 | 數學 | 1910 |
1 | 小李 | 22 | 99.0 | 北大 | 歷史 | 1900 |
2 | 小明 | 22 | 99.5 | 科大 | 計算機 | 1965 |
使用drop()函數來刪除行或列:code
DataFrame.drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
參數註釋:orm
df
user | age1 | age | score | shcool | class | createtime | |
---|---|---|---|---|---|---|---|
0 | 小王 | 23 | 22 | 98.0 | 清華 | 數學 | 1910 |
1 | 小李 | 23 | 22 | 99.0 | 北大 | 歷史 | 1900 |
2 | 小明 | 23 | 22 | 99.5 | 科大 | 計算機 | 1965 |
df.drop(labels=['age1'],axis=1)
user | age | score | shcool | class | createtime | |
---|---|---|---|---|---|---|
0 | 小王 | 22 | 98.0 | 清華 | 數學 | 1910 |
1 | 小李 | 22 | 99.0 | 北大 | 歷史 | 1900 |
2 | 小明 | 22 | 99.5 | 科大 | 計算機 | 1965 |
向數據框的末尾追加數據行:htm
python| DataFrame.append(self, other, ignore_index=False, verify_integrity=False, sort=None)
功能說明:向dataframe對象中添加新的行,若是添加的列名不在dataframe對象中,將會被看成新的列進行添加對象
import pandas as pd data = {'user':['小王','小李','小明'],'shcool':['清華','北大','科大'],'class':['數學','歷史','計算機']} df = pd.DataFrame.from_dict(data) df
user | shcool | class | |
---|---|---|---|
0 | 小王 | 清華 | 數學 |
1 | 小李 | 北大 | 歷史 |
2 | 小明 | 科大 | 計算機 |
df.insert(1,'age',22) df
user | age | shcool | class | |
---|---|---|---|---|
0 | 小王 | 22 | 清華 | 數學 |
1 | 小李 | 22 | 北大 | 歷史 |
2 | 小明 | 22 | 科大 | 計算機 |
data1 = {'user':['小鄭','大王'],'shcool':['清華','醫大'],'class':['物理','鍼灸']} df1=df.append(data1,ignore_index=True) df1
user | age | shcool | class | |
---|---|---|---|---|
0 | 小王 | 22.0 | 清華 | 數學 |
1 | 小李 | 22.0 | 北大 | 歷史 |
2 | 小明 | 22.0 | 科大 | 計算機 |
3 | [小鄭, 大王] | NaN | [清華, 醫大] | [物理, 鍼灸] |
data2 = {'user':['小鄭','大王'],'shcool':['清華','醫大'],'class':['物理','鍼灸']} df2 = pd.DataFrame.from_dict(data2) df3 = df.append(df2) df3
user | age | shcool | class | |
---|---|---|---|---|
0 | 小王 | 22.0 | 清華 | 數學 |
1 | 小李 | 22.0 | 北大 | 歷史 |
2 | 小明 | 22.0 | 科大 | 計算機 |
0 | 小鄭 | NaN | 清華 | 物理 |
1 | 大王 | NaN | 醫大 | 鍼灸 |
astype(dtype)
函數用於把數據框的列轉換爲特定的類型,dtype能夠是pandas支持的類型,也能夠是numpy.dtype,也能夠是Python類型:
df.dtypes
user object age int64 shcool object class object dtype: object
df['age']=df['age'].astype('float64')
df.dtypes
user object age float64 shcool object class object dtype: object
更多文章,請關注: