1. Generieren Sie eine Datentabelle
Im Allgemeinen wird die Numpy-Bibliothek verwendet , also importieren wir zuerst das Backup:import numpy as np import pandas as pd
df = pd.DataFrame(pd.read_csv('name.csv',header=1)) df = pd.DataFrame(pd.read_excel('name.xlsx'))
df = pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006], "date":pd.date_range('20130102', periods=6), "city":['Beijing ', 'SH', ' guangzhou ', 'Shenzhen', 'shanghai', 'BEIJING '], "age":[23,44,54,32,34,32], "category":['100-A','100-B','110-A','110-C','210-A','130-F'], "price":[1200,np.nan,2133,5433,np.nan,4432]}, columns =['id','date','city','category','age','price'])
2. Datentabellen-Informationsansicht
1. Dimensionsansicht:df.shape
df.info()
df.dtypes
df['B'].dtype
df.isnull()
df.isnull()
df['B'].unique()
df.values
df.columns
df.head() #默认前10行数据 df.tail() #默认后10 行数据
Python Video-Tutorial"
3. Bereinigen der Datentabelle
1. Leere Werte mit der Zahl 0 füllen:df.fillna(value=0)
df['prince'].fillna(df['prince'].mean())
df['city']=df['city'].map(str.strip)
df['city']=df['city'].str.lower()
df['price'].astype('int')
df.rename(columns={'category': 'category-size'})
df['city'].drop_duplicates()
df['city'].drop_duplicates(keep='last')
4. Datenvorverarbeitung
df['city'].replace('sh', 'shanghai')
df1=pd.DataFrame({"id":[1001,1002,1003,1004,1005,1006,1007,1008], "gender":['male','female','male','female','male','female','male','female'], "pay":['Y','N','Y','Y','N','Y','N','Y',], "m-point":[10,12,20,40,40,40,30,20]})
df_inner=pd.merge(df,df1,how='inner') # 匹配合并,交集 df_left=pd.merge(df,df1,how='left') # df_right=pd.merge(df,df1,how='right') df_outer=pd.merge(df,df1,how='outer') #并集
df_inner.set_index('id')
df_inner.sort_values(by=['age'])
df_inner.sort_index()
df_inner['group'] = np.where(df_inner['price'] > 3000,'high','low')
rrree
Es wird die geteilte Datentabelle mit der ursprünglichen df_inner-Datentabelle vervollständigt 🎜>df_inner.loc[(df_inner['city'] == 'beijing') & (df_inner['price'] >= 4000), 'sign']=1
Die drei wichtigsten verwendeten Funktionen: loc, iloc und ix, loc Die Funktion extrahiert nach Etikettenwert, iloc extrahiert nach Position und ix kann Nach Etikett extrahieren und gleichzeitig positionieren. 1. Extrahieren Sie den Wert einer einzelnen Zeile nach Index
pd.DataFrame((x.split('-') for x in df_inner['category']),index=df_inner.index,columns=['category','size']))
2. Extrahieren Sie den Wert einer Regionszeile nach Index
df_inner=pd.merge(df_inner,split,right_index=True, left_index=True)
3. Setzen Sie den Index zurück
df_inner.loc[3]
df_inner.iloc[0:5]
df_inner.reset_index()
df_inner=df_inner.set_index('date')
df_inner[:'2013-01-04']
df_inner.iloc[:3,:2] #冒号前后的数字不再是索引的标签名称,而是数据所在的位置,从0开始,前三行,前两列。
df_inner.iloc[[0,2,5],[4,5]] #提取第0、2、5行,4、5列
df_inner.ix[:'2013-01-03',:4] #2013-01-03号之前,前四列数据
df_inner['city'].isin(['beijing'])
6. Datenfilterung
Verwenden Sie die drei Bedingungen AND, OR und NOT mit größer als, kleiner als und gleich, um die Daten zu filtern und Zählen und Summieren durchzuführen.1. Verwenden Sie „AND“, um
df_inner.loc[df_inner['city'].isin(['beijing','shanghai'])]
pd.DataFrame(category.str[:3])
df_inner.loc[(df_inner['age'] > 25) & (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']]
5. Verwenden Sie die Abfragefunktion, um zu filtern
df_inner.loc[(df_inner['age'] > 25) | (df_inner['city'] == 'beijing'), ['id','city','age','category','gender']] .sort(['age'])
6. Summieren Sie die gefilterten Ergebnisse nach Prinz
7. Datenzusammenfassung
Die Hauptfunktionen sind „groupby“ und „pivot_table“ 1. Alle Spalten zählen und zusammenfassendf_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id'])
df_inner.loc[(df_inner['city'] != 'beijing'), ['id','city','age','category','gender']].sort(['id']).city.count()
df_inner.query('city == ["beijing", "shanghai"]')
df_inner.query('city == ["beijing", "shanghai"]').price.sum()
df_inner.groupby('city').count()
df_inner.groupby('city')['id'].count()
df_inner.groupby(['city','size'])['id'].count()
df_inner.groupby('city')['price'].agg([len,np.sum, np.mean])
df_inner.sample(n=3)
weights = [0, 0, 0, 0, 0.5, 0.5] df_inner.sample(n=2, weights=weights)
df_inner.sample(n=6, replace=False)
df_inner.sample(n=6, replace=True)
9. Datenausgabe
Die analysierten Daten können im XLSX-Format und im CSV-Format ausgegeben werden 1. Schreiben Sie in Exceldf_inner.describe().round(2).T #round函数设置显示小数位,T表示转置
df_inner['price'].std()
Das obige ist der detaillierte Inhalt vonDie umfassendste Zusammenfassung der Verwendung von Python-Pandas. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!