DataFrame的替换操作

DataFrame有apply、map等函数使用,还有某些数据行列的格式化操作。

===字符串操作=========================================================

df格式化操作某一列字符串。

1  使某一列的字符串只保留前三个字符:

         df["所在楼层"]=df["所在楼层"].str[0:3]

2  替换操作(把“上海”替换为“深圳”)

        df["area"] = df["area"].replace("上海", "深圳")

3  把“SZ”“SH”替换为小写"sz"“sh”

df["ts_code"].apply(lambda code: "sz"+code[:6] if ".SZ" in code else "sh"+code[:6])

把  600004.SH 变成 sh600004,把000004.SZ 变成sz000004

==数据操作=======================================================

1   保留三位小数

df.round(3)

不同列不同位数

df.round({"A":1, "B":2, "C":3, "D":4})

2   

# 将 pct_change_wly_data 这列乘以100 保留两位小数 成为百分比

pct_Def = lambda P:"%.2f%%"%(P*100)
Df["pct_change"] = Df['pct_change_wly_data'].apply(pct_Def)

3 乘以10

df["A"]=df["A"]*10
 

================================================================

1  行与列操作和条件查询

# 选择单个列

name_column = df['Name']

# 选择多个列

subset = df[['Name', 'Age']]

# 按条件过滤行

filtered_df = df[df['Age'] > 30]

# 按行索引选择行

row = df.loc[2]

2   排序

sorted_df = df.sort_values('Age', ascending=False)

3 聚合操作

# 求和

total_age = df['Age'].sum()

# 均值

average_age = df['Age'].mean()

# 计数

count = df['Age'].count()

4  高级操作

pivot_table = df.pivot_table(values='Age', index='City', columns='Name', aggfunc='mean')

5  缺失值处理

 # 填充缺失值
df_filled = df.fillna(0)
# 删除包含缺失值的行
df_dropped = df.dropna()

6 合并

df1 = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df2 = pd.DataFrame({'Name': ['Charlie', 'David'], 'Age': [35, 40]})
merged_df = pd.concat([df1, df2])

你可能感兴趣的:(数字处理,字符处理,数字格式化)