【pandas】DataFrame 数据处理 笔记 全

    科技2022-07-10  150

    DataFrame 某一列字母转大写 df['列名'] = df['列名'].str.upper() DataFrame 按指定字符串拼接两列:df.concat df3 = pd.concat([df1['cosine'],df1['couple_product_id'].str.split('_', expand=True)], axis=1) DataFrame 对列重命名 :df.rename df3.rename(columns={0:'product_id_a', 1:'product_id_b'}, inplace=True) DataFrame 取某些列 df5 = df2[df2['product_id'].isin(random_sample_b)] DataFrame 删除某些列 df4 = df4.drop(columns=['sku_code', 'bundleproduct_main_sku'])

    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] = value

    DataFrame 填充空值的方法

    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="_")
    Processed: 0.014, SQL: 8