import pandas as pd
创建 DataFrame
- 从列表创建:
df = pd.DataFrame({"name": ["Alice", "Bob", "Carol"], "age": [20, 25, 30]})
- 从字典创建:
df = pd.DataFrame({
"name": ["Alice", "Bob", "Carol"],
"age": [20, 25, 30],
"city": ["London", "Paris", "Rome"]
})
- 从 CSV 文件创建:
df = pd.read_csv("data.csv")
访问数据
- 访问一列:
df["age"]
- 访问一行:
df.loc[0]
- 访问特定单元格:
df.loc[0, "age"]
操纵数据
- 添加列:
df["city"] = ["London", "Paris", "Rome"]
- 删除列:
df.drop("age", axis=1, inplace=True)
- 筛选数据:
filtered_df = df[df["age"] > 25]
- 排序数据:
sorted_df = df.sort_values("age")
- 分组数据:
grouped_df = df.groupby("city")
合并数据
- 通过列合并:
df1 = pd.DataFrame({"name": ["Alice", "Bob"], "age": [20, 25]})
df2 = pd.DataFrame({"name": ["Bob", "Carol"], "city": ["Paris", "Rome"]})
merged_df = pd.merge(df1, df2, on="name")
- 通过索引合并:
df1 = pd.DataFrame({"name": ["Alice", "Bob"], "age": [20, 25]})
df2 = pd.DataFrame({"city": ["London", "Paris"], "index": [0, 1]})
merged_df = pd.merge(df1, df2, left_index=True, right_index=True)
数据处理
- 求和:
df["age"].sum()
- 求平均值:
df["age"].mean()
- 求标准差:
df["age"].std()
- 众数:
df["city"].mode()
输出数据
- 输出到 CSV 文件:
df.to_csv("data.csv")
- 输出到 Excel 文件:
df.to_excel("data.xlsx")
- 输出到 HTML 表格:
df.to_html("data.html")