pandas 库常用用法
# Pandas 库常见用法
# pd.concat
使用场景示例:提取 test_data
dataframe 的 filename
列,从另一个列表中构造另外一列,再 concat 到一起
import pandas as pd
test_data['image_raw'] = test_data['filename']
test_data['label_raw'] = pd.Series(pred_ensemble_test_list)
test_pseudo_df = pd.concat([test_data['image_raw'], test_data['label_raw']], axis=1)
test_pseudo_df.to_csv(cfg.test_submission_path[:-4] + '_pseudo.csv', index=False)
1
2
3
4
5
2
3
4
5
# df.sort_values
使用场景示例:对 ‘filename‘ 该列排序
import pandas as pd
raw_test_df = pd.read_csv(cfg.path_raw_test_csv)
raw_test_df.sort_values('filename', inplace=True)
1
2
3
2
3
# lambda + apply
使用场景示例:对某一列数据要做统一的操作,例如字符串的信息提取
import pandas as pd
test_data = pd.read_csv(cfg.path_raw_test_csv)
test_data['name'] = test_data['filename'].apply(lambda x: x.split('/')[-1])
1
2
3
2
3
# value_counts
使用场景示例:我想要查看某个 csv 文件中 label
这一列的分布情况
import pandas as pd
raw_train_df = pd.read_csv(cfg.path_raw_train_csv)
print(raw_train_df['label'].value_counts())
1
2
3
2
3
# df.column
使用场景示例:修改某个 df 的列名
import pandas as pd
raw_train_df = pd.read_csv(cfg.path_raw_train_csv)
raw_train_df.columns = ['filename', 'label']
1
2
3
2
3
# df.index.value
使用场景示例:想要输出某一列的值,只知道这一列的索引
import pandas as pd
raw_train_df = pd.read_csv(cfg.path_raw_train_csv)
print(raw_train_df.index.value)
print(raw_train_df.loc['xxx'][0])
1
2
3
4
2
3
4
# pd.DataFrame.from_dict
使用场景示例:想要将一个字典转成 df
import pandas df
df_clean_4000 = pd.DataFrame.from_dict(dict_clean_4000, orient='index')
df_noise_500 = pd.DataFrame.from_dict(dict_clean_4000_noise_500, orient='index')
df_clean_valid = pd.DataFrame.from_dict(dict_clean_valid, orient='index')
df_clean_test = pd.DataFrame.from_dict(dict_clean_test, orient='index')
df_clean_4000.to_csv(csv_path_clean_4000)
df_noise_500.to_csv(csv_path_clean_4000_noise_500_weight)
df_clean_valid.to_csv(csv_path_clean_valid)
df_clean_test.to_csv(csv_path_clean_test)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# df.iloc
使用场景示例:获取 df 的元素
import pandas as pd
# 已知坐标x,y
df = pd.read_csv(cfg.path_csv)
item = df.iloc[x, y]
item = df.iat[x, y]
#取data的第一行
df.iloc[0, :]
#取data的第一列
df.iloc[:, 0]
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# df.drop
使用场景示例:删除 ‘B’ 与 'C' 列
import pandas as pd
df = pd.read_csv(cfg.path_csv)
df.drop(columns=['B', 'C'])
1
2
3
2
3
# df.unique()
使用场景示例:想得到一列的唯一值
>>> pd.Series([2, 1, 3, 3], name='A').unique()
array([2, 1, 3])
1
2
2
# df.describe()
上次更新: 2021/08/17, 18:07:06
- 02
- README 美化05-20
- 03
- 常见 Tricks 代码片段05-12