DataFrame 按条件取行
选取等于某些值的行记录 用 ==
df.loc[df[‘column_name’] == some_value]选取某列是否是某一类型的数值 用 isin
df.loc[df[‘column_name’].isin(some_values)]多种条件的选取 用 &
df.loc[(df[‘column’] == some_value) & df[‘other_column’].isin(some_values)]选取不等于某些值的行记录 用 !=
df.loc[df[‘column_name’] != some_value]isin返回一系列的数值,如果要选择不符合这个条件的数值使用~
df.loc[~df[‘column_name’].isin(some_values)DataFrame 横向对应拼接
df389 = pd.merge(df38, df9, how='left', on='product_b')DataFrame 求某列均值
df[col].mean())DataFrame 筛选某列为指定值的数据
Df1 = df1[df1['A'].isin([1])] df1[df1['A'].isin([1])] 选取df1中A列包含数字1的行DataFrame 前一个和后一个词组成元组
[(word[i],word[i+1]) for I in range(len(words)-1)]DataFrame merge报错 不同类型不能merge
base_df['article_id'] = base_df['article_id'].apply(int)DataFrame drop_duplicates()删除重复行
df389_Lancome = df389_Lancome.drop_duplicates()DataFrame 直接新增列
data['d'] = [5,6] append 新增行 res = pd.DataFrame(columns=('lib', 'qty1', 'qty2')) res = res.append([{'qty1':10.0}], ignore_index=True) items_a = df9['product_id_a'].to_list()DataFrame 读取csv 设置数据类型
df = pd.read_csv("somefile.csv", dtype = {'column_name' : str})python list去重并保持原顺序
ids = list(set(x)) ids.sort(key=x.index)python 转换list元素类型
label_list = [int(i) for i in label_list]DataFrame 筛选多项条件
some = all_data[(all_data['User_id'] == 1439408) & (all_data['Date'].isna())]DataFrame 取某行某列的value
[pd.at][i,‘j’] pd.loc[i,j] = valueDataFrame 填充空值的方法
df3_sum_MakeUp_Fragrance_Oil.fillna(value=0) df.fillna(method='pad',axis=0) # 用前一行的值填充 df.fillna(method='backfill',axis=1) # 用后一列的值填充DataFrame 根据某列排序
df.sort_values(by=['col1'],na_position='first'))python 保存字典为json文件
json_str = json.dumps(all_house,ensure_ascii=False) json_str = json.dumps(test_dict) with open('test_data.json', 'w') as json_file: json_file.write(json_str) python list中每个int转换为str 在Python中,有时需要将list以字符串的形式输出,此时可以使用如下的形式: ``` ",".join(list_sample)1 ``` 其中,`,`表示的是分隔符 如需要将`a_list = ["h","e","l","l","o"]`转换成字符输出,可以使用如下的形式转换: ``` a_list = ["h","e","l","l","o"] print ",".join(a_list)123 ``` 如果list中不是字符串,而是数字,则不能使用如上的方法,会有如下的错误: > TypeError: sequence item 0: expected string, int found 可以有以下的两种方法: - 方法1 ``` num_list = [0,1,2,3,4,5,6,7,8,9] num_list_new = [str(x) for x in num_list] print ",".join(num_list_new)1234 ``` - 方法2 ``` num_list = [0,1,2,3,4,5,6,7,8,9] num_list_new = map(lambda x:str(x), num_list) print ",".join(num_list_new) ``` python 字符串转大小写 str = "www.runoob.com" print(str.upper()) # 把所有字符中的小写字母转换成大写字母 print(str.lower()) # 把所有字符中的大写字母转换成小写字母 print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写 print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写DataFrame 计算pd每一列的均值
for col in df.columns: print("该列数据的均值位%.2f" %df[col].mean()) #计算每列均值DataFrame 取dataframe特定行/列
(https://www.cnblogs.com/nxf-rabbit75/p/10105271.html)
DataFrame 设置某列数据保留两位小数
data[u'线损率'] = data[u'线损率'].apply(lambda x: format(x, '.2%'))python 字典中根据value获取key值
list(a.keys())[list(a.values()).index('a')]DataFrame 统计某一列中各值出现的次数
df_train.loc[:,'label'].value_counts()DataFrame 对象列的最大值、最小值、平均值、标准差、中位数
df.sum() 求和 Df.max() 最大值 Df.mix() 最小值 Df.std() 标准差 Df.decribe() 数据的详细信息 25%,50%,75%就是将列内的数值由小到大排列并分成四等份,处于25%、50%、75%三个分割点位置的数值DateFrame新增一列
data['c'] = ''DataFrame 删除指定列空值的行
df1 = df1.dropna(subset=["豆瓣评分","评分人数"])DataFrame 字符串拼接
df_session01['user_id'] = df_session01['user_id'].apply(str) df_session01['session_id'] = df_session01['session_id'].apply(str) df_session01['user_id_session'] = df_session01['user_id'].str.cat(df_session01['session_id'],sep="_")