Python是一门强大的编程语言,也是数据科学领域中最流行的语言之一。在处理数据时,很多时候需要与Excel进行交互,以进行数据读取、清理和分析。Python中有很多工具可以与Excel进行交互,其中pandas是其中最受欢迎的库之一。在本文中,我们将介绍如何使用Python和pandas进行Excel文件操作,并讨论一些常用的pandas方法。
读取Excel文件:
import pandas as pd
df = pd.read_excel('example.xlsx')
读取指定的Excel表单:
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
写入数据到Excel文件:
df.to_excel('example.xlsx', sheet_name='Sheet1', index=False)
追加数据到Excel文件:
with pd.ExcelWriter('example.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
选择Excel表单中的列:
df = pd.read_excel('example.xlsx')
selected_cols = ['col1', 'col2']
df_selected = df[selected_cols]
选择Excel表单中的行:
df = pd.read_excel('example.xlsx')
selected_rows = df.loc[df['col1'] == 'value1']
过滤Excel表单中的行:
df = pd.read_excel('example.xlsx')
filtered_rows = df[df['col1'].str.contains('value')]
按列排序:
df = pd.read_excel('example.xlsx')
sorted_df = df.sort_values(by='col1')
按列分组并求和:
df = pd.read_excel('example.xlsx')
grouped_df = df.groupby('col1').sum()
对Excel表单中的列应用函数:
df = pd.read_excel('example.xlsx')
df['new_col'] = df['col1'].apply(lambda x: x * 2)
使用Pivot表:
df = pd.read_excel('example.xlsx')
pivot_table = pd.pivot_table(df, values='col1', index='col2', columns='col3', aggfunc='sum')
插入新的行:
df = pd.read_excel('example.xlsx')
new_row = pd.DataFrame({'col1': 'value1', 'col2': 'value2'}, index=[0])
df = pd.concat([new_row, df]).reset_index(drop=True)
插入新的列:
df = pd.read_excel('example.xlsx')
new_col = pd.Series(['value1', 'value2'])
df['new_col'] = new_col
删除行:
df = pd.read_excel('example.xlsx')
df = df.drop(df[df['col1'] == 'value1'].index)
删除列:
df = pd.read_excel('example.xlsx')
df = df.drop('col1', axis=1)
重命名列:
df = pd.read_excel('example.xlsx')
df = df.rename(columns={'col1': 'new_col1', 'col2': 'new_col2'})
修改单元格的值:
df = pd.read_excel('example.xlsx')
df.loc[df['col1'] == 'value1', 'col2'] = 'new_value'
使用多重索引:
df = pd.read_excel('example.xlsx')
df = df.set_index(['col1', 'col2'])
读取多个Excel文件并合并:
import os
path = 'path/to/files'
all_files = os.listdir(path)
all_excels = [file for file in all_files if file.endswith('.xlsx')]
dfs = [pd.read_excel(os.path.join(path, file)) for file in all_excels]
merged_df = pd.concat(dfs)
选择特定的单元格:
df = pd.read_excel('example.xlsx')
cell_value = df.at[0, 'col1']
拆分Excel表单中的列:
df = pd.read_excel('example.xlsx')
split_cols = df['col1'].str.split('-', expand=True)
split_cols.columns = ['col1_part1', 'col1_part2']
将Excel表单中的列合并:
df = pd.read_excel('example.xlsx')
df['col1'] = df['col1'].astype(str) + '-' + df['col2'].astype(str)
将Excel表单中的日期列格式化:
df = pd.read_excel('example.xlsx')
df['date_col'] = pd.to_datetime(df['date_col'], format='%Y-%m-%d')
根据Excel表单中的某一列填充空值:
df = pd.read_excel('example.xlsx')
df['col1'] = df['col1'].fillna(method='ffill')
根据Excel表单中的某一列去除重复行:
df = pd.read_excel('example.xlsx')
df = df.drop_duplicates(subset='col1')
将Excel表单中的数字列格式化为百分比:
df = pd.read_excel('example.xlsx'
df['percentage_col'] = df['percentage_col'].apply(lambda x: '{:.2%}'.format(x))
将Excel表单中的数字列四舍五入:
df = pd.read_excel('example.xlsx')
df['decimal_col'] = df['decimal_col'].round(2)
根据Excel表单中的某一列进行透视:
df = pd.read_excel('example.xlsx')
pivot_table = pd.pivot_table(df, values='col1', index='col2', columns='col3', aggfunc='sum')
计算Excel表单中列的总数:
df = pd.read_excel('example.xlsx')
col_total = df['col1'].sum()
统计Excel表单中每个值的数量:
df = pd.read_excel('example.xlsx')
value_counts = df['col1'].value_counts()
标签:xlsx,df,excel,example,read,pd,操作,excle,pandas
From: https://www.cnblogs.com/bertin/p/17226414.html