# Set maximum rows to displaypd.set_option('display.max_rows',100)# Set maximum columns to displaypd.set_option('display.max_columns',50)# Set column widthpd.set_option('display.max_colwidth',100)# Set float display precisionpd.set_option('display.precision',2)# Display all columnspd.set_option('display.expand_frame_repr',False)# Show full dataframe without truncationpd.set_option('display.max_rows',None)pd.set_option('display.max_columns',None)# Reset all options to defaultspd.reset_option('all')# Get current option valuepd.get_option('display.max_rows')
# Use copy-on-write mode (pandas 2.0+)pd.options.mode.copy_on_write=True# Set computation modepd.set_option('compute.use_bottleneck',True)pd.set_option('compute.use_numexpr',True)# Set chained assignment warningpd.set_option('mode.chained_assignment','warn')# or 'raise' or None
# Set default CSV separatorpd.set_option('io.excel.xlsx.writer','xlsxwriter')# Set clipboard encodingpd.set_option('display.clipboard.encoding','utf-8')
importpandasaspd# Load datadf=pd.read_csv('sales_data.csv')# Basic statisticsprint(df.describe())print(df.info())# Check for missing valuesprint(df.isnull().sum())# Analyze categorical variablesprint(df['category'].value_counts())print(df['region'].value_counts(normalize=True))# Correlation analysiscorrelation_matrix=df.corr()print(correlation_matrix)# Group analysissales_by_region=df.groupby('region').agg({'sales':['sum','mean','count'],'profit':'sum'})print(sales_by_region)# Time-based analysisdf['date']=pd.to_datetime(df['date'])monthly_sales=df.set_index('date').resample('M')['sales'].sum()print(monthly_sales)
Use Case 3: Data Integration from Multiple Sources¶
importpandasaspd# Read from different sourcescustomers=pd.read_csv('customers.csv')orders=pd.read_excel('orders.xlsx')products=pd.read_json('products.json')# Merge datasetsdf=pd.merge(orders,customers,on='customer_id',how='left')df=pd.merge(df,products,on='product_id',how='left')# Calculate derived metricsdf['total_price']=df['quantity']*df['unit_price']df['profit']=df['total_price']-df['cost']# Aggregate by customercustomer_summary=df.groupby('customer_id').agg({'order_id':'count','total_price':'sum','profit':'sum'}).rename(columns={'order_id':'order_count'})# Export resultscustomer_summary.to_excel('customer_summary.xlsx')
Use inplace=False por defecto: Evite inplace=True_ para mantener la inmutabilidad y facilitar la depuración. Asignar resultados a nuevas variables en su lugar.
Vectorizar operaciones Use pandas operaciones vectorizadas incorporadas en lugar de bucles. Las operaciones como df['col'] * 2 son mucho más rápidas que df['col'].apply(lambda x: x * 2).
** Operaciones de cambio eficientemente**: Usar encadenamiento de método con el formato adecuado para el código legible: df.query('col > 5').groupby('category').sum()_.
Especifique dtipos al leer datos: Use dtype_ parámetro in read_csv() para reducir el uso de la memoria y mejorar el rendimiento: pd.read_csv('file.csv', dtype={'col1': 'int32'})_.
Utilice el tipo de datos categóricos para columnas de baja cardiacidad: Convertir columnas de cadena con pocos valores únicos en categorical: df['category'] = df['category'].astype('category')_ para guardar la memoria.
Los valores perdidos de forma explícita: Siempre busque y maneje los valores perdidos conscientemente en lugar de dejarlos propagar: df.isnull().sum()_ antes de procesar.
Use copy() cuando sea necesario: Al crear un subconjunto que modificarás