- 使用pandas库读取excel文件
import pandas as pd
data = pd.read_excel('D:\\飞书\\近一年用量.xlsx')
- 指定工作表
import pandas as pd
data = pd.read_excel('D:\\飞书\\近一年用量.xlsx', sheet_name='Sheet1')
- 读取日期格式
data = pd.read_excel('example.xlsx', parse_dates=['Date'])
- 添加列名
data = pd.read_excel('example.xlsx', names=['A', 'B', 'C'])
- 保存为excel文件
data.to_excel('output.xlsx', index=False)
- 筛选数据
filtered_data = data[data['A'] > 10]
- 排序数据
sorted_data = data.sort_values(by='A')
- 分组数据
grouped_data = data.groupby('A')
- 计算分组统计信息
grouped_mean = grouped_data.mean()
- 查找替换数据
data.replace({'old_value': 'new_value'}, inplace=True)
- 插入列
data.insert(0, 'NewColumn', 'default_value')
- 删除列
data.drop(data.columns[0], axis=1, inplace=True)
- 重命名列
data.rename(columns={'A': 'NewColumnName'}, inplace=True)
- 合并两个表格数据
merged_data = pd.concat([data1, data2], ignore_index=True)
- 数据透视表
pivot_table = data.pivot_table(index='A', columns='B', values='C')
- 数据透视图
import matplotlib.pyplot as plt
pivot_table = data.pivot_table(index='A', columns='B', values='C')
pivot_table.plot(kind='bar')
plt.show()
- 数据清理,去除空格和特殊字符
data['ColumnName'].str.strip()
data['ColumnName'] = data['ColumnName'].str.replace(r'[^a-zA-Z0-9]', '')
- 使用excel公式
data=pd.read_excel('example.xlsx')
data['NewColumn'] = '=SUM(A2:B2)'
- 获取某列数据的唯一值
data["A"].unique()
- 删除重复行
df = df.drop_duplicates()
- 修改列名大小写
df.columns = [col.lower() for col in df.columns]
- 修改列顺序
df = df[['B', 'A', 'C']]
- 添加新列
df['D'] = df['A'] + df['B']
- 删除指定列
df = df.drop('A', axis=1)
- 使用表达式筛选数据
filtered_data = df[(df['A'] > 10) & (df['B'] < 5)]
- 使用apply函数应用自定义函数
def custom_function(x):
return x * 2
df['A'] = df['A'].apply(custom_function)
- 使用map函数映射值
df['A'] = df['A'].map({'old_value': 'new_value'})
- 使用fillna函数填充缺失值
df['A'].fillna(value=0, inplace=True)
- 使用interpolate
df['A'].interpolate(inplace=True)
- 使用merge函数合并两个Dataframe
merged_data = pd.merge(df1, df2, on='key')
- 使用concat函数合并两个DataFrane
concatenated_data = pd.concat([df1, df2], ignore_index=True)
- 使用melt函数将宽格式数据转换为长格式数据
melted_data = pd.melt(df, id_vars=['A'], value_vars=['B', 'C'])
- 使用groupby函数分组数据并金属统计信息
grouped_data = df.groupby('A').agg({'B': ['mean', 'sum']})
- 使用crosstab函数创建交叉表
crosstab_data = pd.crosstab(df['A'], df['B'])
- 使用cut函数将连续变量话费为离散区间
df['A'] = pd.cut(df['A'], bins=[0, 10, 20, 30])
- 脚本
import pandas as pd
import openpyxl
path = 'D:\\飞书\\近一年用量.xlsx'
data = pd.read_excel(path, sheet_name='移动')
data.insert(19, "月均使用量", '')
data['月均使用量'] = data['总用量'] / 13
date = data.sort_values(by='月均使用量', ascending=False)
date1G = date[(date['月均使用量'] <= 1024) & (date['月均使用量'] > 0)]
date2G = date[(date['月均使用量'] <= 2048) & (date['月均使用量'] > 1024)]
date4G = date[(date['月均使用量'] <= 4096) & (date['月均使用量'] > 2048)]
date6G = date[(date['月均使用量'] <= 6144) & (date['月均使用量'] > 4096)]
date10G = date[(date['月均使用量'] <= 10240) & (date['月均使用量'] > 6144)]
date12G = date[(date['月均使用量'] <= 12288) & (date['月均使用量'] > 10240)]
date15G = date[(date['月均使用量'] <= 15360) & (date['月均使用量'] > 12288)]
date20G = date[(date['月均使用量'] <= 20480) & (date['月均使用量'] > 15360)]
date1G.to_excel('D:\\飞书\\过去一年用量1G.xlsx')
date2G.to_excel('D:\\飞书\\过去一年用量2G.xlsx')
date4G.to_excel('D:\\飞书\\过去一年用量4G.xlsx')
date6G.to_excel('D:\\飞书\\过去一年用量6G.xlsx')
date10G.to_excel('D:\\飞书\\过去一年用量10G.xlsx')
date12G.to_excel('D:\\飞书\\过去一年用量12G.xlsx')
date15G.to_excel('D:\\飞书\\过去一年用量15G.xlsx')
date20G.to_excel('D:\\飞书\\过去一年用量20G.xlsx')