pandas入门
pandas基础操作移步:python数据分析之pandas(一)
本文以pandas进阶知识为主
使用pandas将内容添加到已有Excel表中
步骤:
- 导入必要的库
pandas
用于处理数据和写入 Excel 文件 - 读取已有的 Excel 文件
使用ExcelWriter
对象,并设置mode='a'
和engine='openpyxl'
- 将 DataFrame 写入新的工作表
使用to_excel
方法指定sheet_name
和index
参数,将 DataFrame 写入新的工作表中
import pandas as pd
# 假设已有的 Excel 文件路径
existing_file_path = 'existing_file.xlsx'
# 创建一个新的 DataFrame
new_data = {
'E': [13, 14, 15],
'F': [16, 17, 18]
}
new_df = pd.DataFrame(new_data)
# 使用 ExcelWriter 并设置 mode='a' 以追加新的工作表
with pd.ExcelWriter(existing_file_path, mode='a', engine='openpyxl') as writer:
# 将 new_df 写入新的工作表 'NewSheet'
new_df.to_excel(writer, sheet_name='NewSheet', index=False)
print(f"New DataFrame has been added to {existing_file_path} as 'NewSheet'")
将DataFrame对象转换为NumPy数组
当对DataFrame使用.values
属性时,它会将DataFrame中的数据转换为一个NumPy数组
合并多个DataFrame对象
import pandas as pd
df = pd.read_excel(path, sheet_name=f"{sheet}-2.5s")
# 使用列表收集所有的DataFrame
df_stage = []
for index, stage in df.groupby("stage"):
df_stage.append(stage)
# 使用pd.concat合并所有DataFrame对象
df_stage = pd.concat(df_stage, ignore_index=False)
pd.concat()
是 Pandas 库中用于沿一条轴将多个对象堆叠到一起的函数
参数 ignore_index=True
在这个过程中起着关键的作用。当你将多个 DataFrame 合并时,默认情况下,Pandas 会尝试保留每个 DataFrame 的原始索引,并在必要时进行合并(例如,如果有重复的索引,它们会被保留并可能导致数据对齐问题)。然而,在很多情况下,我们并不关心原始索引,而是想要一个连续、无间断的新索引
ignore_index=True
告诉 Pandas 在合并 DataFrame 时忽略每个 DataFrame 的原始索引,并生成一个新的、从 0 开始的整数索引。这样做的好处是,合并后的 DataFrame 将拥有一个清晰、连续的索引