[python]pandas

主要内容涉及:读取数据和保存数据、数据详情信息、数据处理、数据切片、筛选、排序、分组、统计、表格样式

import pandas as pd
import numpy as np

读取数据和保存数据

# 2.1 从CSV文件读取数据,编码'gbk'
pd.read_csv(filename, encoding='gbk')# 2.2 读取前6行,当数据量比较大时,可以只读取前n行
pd.read_csv(filename, encoding='gbk', nrows = 6)# 2.3 第一列作为行索引,忽略列索引
pd.read_csv(filename, encoding='gbk', header=None, index_col=0)# 2.4 读取时忽略第1/3/5行和最后两行
pd.read_csv(filename, encoding='gbk', skiprows=[1,3,5], skipfooter=2, engine='python')# 2.5 从限定分隔符(',')的文件或文本读取数据
df=pd.read_excel("test.xlsx")# 2.6 保存数据
# 保存为csv文件
df.to_csv('test_ison.csv')
# 保存为xlsx文件
df.to_excel('test_xlsx.xlsx',index=False)
# 保存为ison文件
df.to_json('test_json.txt')

查看数据信息

df=pd.read_excel("test.xlsx")
# 3.1 查看前n行
df.head(1)
第1股东第1股东对上海青赛生物科技股份有限公司持股比例第2股东对1持股比例第2股东对上海青赛生物科技股份有限公司持股比例第3股东对2持股比例第3股东对上海青赛生物科技股份有限公司持股比例第4股东对3持股比例...第5股东对上海青赛生物科技股份有限公司持股比例第6股东对5持股比例第6股东对上海青赛生物科技股份有限公司持股比例第7股东对6持股比例第7股东对上海青赛生物科技股份有限公司持股比例第8股东对7持股比例第8股东对上海青赛生物科技股份有限公司持股比例
0朗润(深圳)股权投资基金企业(有限合伙)54.233900%唐春山79.915800%43.341455056200%NaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN

1 rows × 23 columns

# 3.2 查看后n行
df.tail(1)
第1股东第1股东对上海青赛生物科技股份有限公司持股比例第2股东对1持股比例第2股东对上海青赛生物科技股份有限公司持股比例第3股东对2持股比例第3股东对上海青赛生物科技股份有限公司持股比例第4股东对3持股比例...第5股东对上海青赛生物科技股份有限公司持股比例第6股东对5持股比例第6股东对上海青赛生物科技股份有限公司持股比例第7股东对6持股比例第7股东对上海青赛生物科技股份有限公司持股比例第8股东对7持股比例第8股东对上海青赛生物科技股份有限公司持股比例
361NaNNaN马建民0.387600%0.000804270000%NaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN

1 rows × 23 columns

# 3.3 查看行数和列数
df.shape
(362, 23)
# 3.4查看列索引
df.columns
Index(['第1股东', '第1股东对上海青赛生物科技股份有限公司持股比例', '第2股东', '对1持股比例','第2股东对上海青赛生物科技股份有限公司持股比例', '第3股东', '对2持股比例', '第3股东对上海青赛生物科技股份有限公司持股比例','第4股东', '对3持股比例', '第4股东对上海青赛生物科技股份有限公司持股比例', '第5股东', '对4持股比例','第5股东对上海青赛生物科技股份有限公司持股比例', '第6股东', '对5持股比例', '第6股东对上海青赛生物科技股份有限公司持股比例','第7股东', '对6持股比例', '第7股东对上海青赛生物科技股份有限公司持股比例', '第8股东', '对7持股比例','第8股东对上海青赛生物科技股份有限公司持股比例'],dtype='object')
# 3.5 查看行索引
df.index
RangeIndex(start=0, stop=362, step=1)
# 3.6 查看索引、数据类型和内存信息
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 362 entries, 0 to 361
Data columns (total 23 columns):#   Column                   Non-Null Count  Dtype 
---  ------                   --------------  ----- 0   第1股东                     18 non-null     object1   第1股东对上海青赛生物科技股份有限公司持股比例  18 non-null     object2   第2股东                     177 non-null    object3   对1持股比例                   177 non-null    object4   第2股东对上海青赛生物科技股份有限公司持股比例  177 non-null    object5   第3股东                     53 non-null     object6   对2持股比例                   53 non-null     object7   第3股东对上海青赛生物科技股份有限公司持股比例  53 non-null     object8   第4股东                     50 non-null     object9   对3持股比例                   50 non-null     object10  第4股东对上海青赛生物科技股份有限公司持股比例  50 non-null     object11  第5股东                     53 non-null     object12  对4持股比例                   53 non-null     object13  第5股东对上海青赛生物科技股份有限公司持股比例  53 non-null     object14  第6股东                     49 non-null     object15  对5持股比例                   49 non-null     object16  第6股东对上海青赛生物科技股份有限公司持股比例  49 non-null     object17  第7股东                     40 non-null     object18  对6持股比例                   40 non-null     object19  第7股东对上海青赛生物科技股份有限公司持股比例  40 non-null     object20  第8股东                     43 non-null     object21  对7持股比例                   43 non-null     object22  第8股东对上海青赛生物科技股份有限公司持股比例  43 non-null     object
dtypes: object(23)
memory usage: 65.2+ KB
# 3.7 查看数值型列的汇总统计
df.describe()
第1股东第1股东对上海青赛生物科技股份有限公司持股比例第2股东对1持股比例第2股东对上海青赛生物科技股份有限公司持股比例第3股东对2持股比例第3股东对上海青赛生物科技股份有限公司持股比例第4股东对3持股比例...第5股东对上海青赛生物科技股份有限公司持股比例第6股东对5持股比例第6股东对上海青赛生物科技股份有限公司持股比例第7股东对6持股比例第7股东对上海青赛生物科技股份有限公司持股比例第8股东对7持股比例第8股东对上海青赛生物科技股份有限公司持股比例
count18181771771775353535050...53494949404040434343
unique181817190904532444327...49402440241627201525
top朗润(深圳)股权投资基金企业(有限合伙)54.233900%唐春山0.16100%0.00592866400%深圳市岭南集团有限公司20.0%0.004469570000%陈学军30.0%...0.0000211753951885736360100%北京嘉德投资集团有限公司8.333300%0.0027324583236090071959154400%黄晓华8.333300%0.0002128055385787285206419288285%黄晓华8.333300%2.125944337956201570825435600E-7%
freq112141436535...337741476217

4 rows × 23 columns


# 3.8 查看每一列的唯一值和计数
df.apply(pd.Series.value_counts)
第1股东第1股东对上海青赛生物科技股份有限公司持股比例第2股东对1持股比例第2股东对上海青赛生物科技股份有限公司持股比例第3股东对2持股比例第3股东对上海青赛生物科技股份有限公司持股比例第4股东对3持股比例...第5股东对上海青赛生物科技股份有限公司持股比例第6股东对5持股比例第6股东对上海青赛生物科技股份有限公司持股比例第7股东对6持股比例第7股东对上海青赛生物科技股份有限公司持股比例第8股东对7持股比例第8股东对上海青赛生物科技股份有限公司持股比例
0.000001062977271264921027577456440%NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0
0.000001207450824867487200%NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN
0.000001468899709513139646978753130%NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0
0.0000014758906220506509600%NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaN1.0NaNNaNNaNNaNNaNNaN
0.00000186896953122423616800%NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaN1.0NaNNaNNaNNaNNaNNaN
..................................................................
黄琳NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaN1.0NaNNaN
黄运兵NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
黄金泉NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
鼎合(厦门)科技有限公司NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaN1.0NaNNaNNaNNaNNaN
齐杰NaNNaN1.0NaNNaNNaNNaNNaNNaNNaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN

814 rows × 23 columns

数据处理

# 4.1 重命名列名
df.columns = ['姓名','性别','语文','数学','英语','城市','省份']# 4.2 选择性更改列名
df.rename(columns={'姓名': '姓--名','性别': '性--别'},inplace=True)# 4.3 批量更改索引
df.rename(lambda x: x + 10)# 4.4 批量更改列名
df.rename(columns=lambda x: x + '_1')# 4.5 设置姓名列为行索引
df.set_index('姓名')# 4.6 检查哪些列包含缺失值
df.isnull().any()# 4.7 统计各列空值
df.isnull().sum()# 4.8 删除本列中空值的行
df[df['数学'].notnull()]
df[~df['数学'].isnull()]# 4.9 仅保留本列中是空值的行
df[df['数学'].isnull()]
df[~df['数学'].notnull()]# 4.10 去掉某行
df.drop(0, axis=0)# 4.11 去掉某列
df.drop('英语', axis=1)# 4.12 删除所有包含空值的行
df.dropna()# 4.13 删除行里全都是空值的行
df.dropna(how = 'all')# 4.14 删除所有包含空值的列
df.dropna(axis=1)# 4.15 保留至少有6个非空值的行
df.dropna(thresh=6)# 4.16 保留至少有11个非空值的列
df.dropna(axis=1,thresh=11)# 4.17 行数据向下填充
df.fillna(method = 'ffill')# 4.18 列数据向右填充
df.fillna(method = 'ffill',axis=1)# 4.19 用0替换所有的空值
df.fillna(0)# 4.20 强制转换数据类型
df_t1 = df.dropna()
df_t1['语文'].astype('int')# 4.21 查看有多少不同的城市
df['城市'].unique()# 4.22 单值替换
df.replace('苏州', '南京')# 4.23 多值替换
df.replace({'苏州':'南京','广州':'深圳'})
df.replace(['苏州','广州'],['南京','深圳'])# 4.24 多值替换单值
df.replace(['深圳','广州'],'东莞')# 4.25 替换某列,显示需要加inplace=True
df['城市'] = df['城市'].replace('苏州', '南京')# 4.26 拆分某列,生成新的Dataframe
df1 = df['姓名'].str.split('-',expand=True)
df1.columns = ['学号','姓名']# 4.27 某一列类型转换,注意该列类型要一致,包括(NaN)
df1.dropna(inplace = True)
df1['语文'] = df1['语文'].apply(int)

数据切片、筛选

# 5.1 输出城市为上海
df[df['城市']=='上海']# 5.2 输出城市为上海或广州
df[df['城市'].isin(['上海','广州'])]# 5.3 输出城市名称中含有‘海’字的行
df[df['城市'].str.contains("海", na=False)]# 5.4 输出城市名称以‘海’字开头的行
df[df['城市'].str.startswith("海", na=False)]# 5.5 输出城市名称以‘海’字结尾的行
df[df['城市'].str.endswith("海", na=False)]# 5.6 输出所有姓名,缺失值用Null填充
df['姓名'].str.cat(sep='、',na_rep='Null')# 5.7 重置索引
df2 = df1.set_index('学号')# 5.8 前两行
df2[:2]# 5.9 后两行
df2[-2:]# 5.10 2-8行
df2[2:8]# 5.11 每隔3行读取
df2[::3]# 5.12 2-8行,步长为2,即第2/4/6行
df2[2:8:2]# 5.13 选取'语文','数学','英语'列
df2[['语文','数学','英语']]# df.loc[]只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭
# 5.14 学号为'001'的行,所有列
df2.loc['001', :]# 5.15 学号为'001'或'003'的行,所有列
df2.loc[['001','003'], :]# 5.16 学号为'001'至'009'的行,所有列
df2.loc['001':'009', :]# 5.17 列索引为'姓名',所有行
df2.loc[:, '姓名']# 5.18 列索引为'姓名'至‘城市’,所有行
df2.loc[:, '姓名':'城市']# 5.19 语文成绩大于80的行
df2.loc[df2['语文']>80,:]
df2.loc[df2.loc[:,'语文']>80, :]
df2.loc[lambda df2:df2['语文'] > 80, :]# 5.20 语文成绩大于80的人的学号和姓名
df2.loc[df2['语文']>80,['姓名','城市']]# 5.21 输出'赵四'和'周七'的各科成绩
df2.loc[df2['姓名'].isin(['赵四','周七']),['姓名','语文','数学','英语']]# # df.iloc[]只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开
# 5.22 选取第2行
df2.iloc[1, :]# 5.23 选取前3行
df2.iloc[:3, :]# 5.24 选取第2行、第4行、第6行
df2.iloc[[1,3,5],:]# 5.25 选取第2列
df2.iloc[:, 1]# 5.26 选取前3列
df2.iloc[:, 0:3]# 5.27 选取第3行的第3列
df2.iloc[3, 3]# 5.28 选取第1列、第3列和第4列
df2.iloc[:, [0,2,3]]# 5.29 选取第2行的第1列、第3列、第4列
df2.iloc[1, [0,2,3]]# 5.30 选取前3行的前3列
df2.iloc[:3, :3]

数据排序

# 6.1 重置索引
df_last = df1.reset_index(drop=True)# 6.2 按照语文成绩升序排序,默认升序排列
df_last.sort_values('语文')# 6.3 按照数学成绩降序排序
df_last.sort_values('数学', ascending=False)# 6.4 先按语文成绩升序排列,再按数学成绩降序排列
df_last.sort_values(['语文','数学'], ascending=[True,False])# 6.5 语文成绩80及以上
df_last[df_last['语文']>=80]
df_last.query('语文 > 80')# 6.6 语文成绩80及以上以及数学成绩90分及以上
df_last[(df_last['语文']>=80) & (df_last['数学']>=90)]# 6.7 语文成绩80及以上或数学成绩90分及以上
df_last[(df_last['语文']>=80) | (df_last['数学']>=90)]# 6.8 输出成绩100的行和列号
row, col = np.where(df_last.values == 100)# 6.9 增加一列“省份-城市”
df_last['省份-城市'] = df_last['省份'] + '-' + df_last['城市']# 6.10 增加一列总分
df_last['总分'] = df_last[['语文','数学','英语']].sum(axis = 1)# 6.11 按照总分、语文、数学、英语成绩依次排序
df_last.sort_values(by =['总分','语文','数学','英语'],ascending=False )# 6.12 新增一列表示学生语文成绩等级的列(优秀、良好、中等、不及格)
def get_letter_grade(score):'''定义一个函数,根据分数返回相应的等级'''if score>=90:return '优秀'elif score>=80:return '良好'elif score>=60:return '中等'else:return '不及格'df_last['语文等级'] = df_last['语文'].apply(lambda score: get_letter_grade(score))

数据分组

# 7.1 一列分组
df2.groupby('省份').groups# 7.2 多列分组
df2.groupby(['省份','城市']).groups# 7.3 每组的统计数据(横向显示)
df2.groupby('省份').describe()# 7.4 每组的统计数据(纵向显示)
df2.groupby('省份').describe().unstack()# 7.5 查看指定列的统计信息
df2.groupby('省份').describe()['语文']# 7.6 分组大小
df2.groupby('省份').count()
df2.groupby('省份').agg(np.size)# 7.7 分组成绩最大值
df2.groupby('省份').max()
df2.groupby('省份').agg(np.max)# 7.8 分组成绩最小值
df2.groupby('省份').min()
df2.groupby('省份').agg(np.min)# 7.9 分组成绩总和
df2.groupby('省份').sum()
df2.groupby('省份').agg(np.sum)# 7.10 分组平均成绩
df2.groupby('省份').mean()
df2.groupby('省份').agg(np.mean)# 7.11 按省份分组,计算英语成绩总分和平均分
df2.groupby('省份')['英语'].agg([np.sum, np.mean])# 7.12 按省份、城市分组计算平均成绩
df2.groupby(['省份','城市']).agg(np.mean)# 7.13 不同列不同的计算方法
df2.groupby('省份').agg({'语文': sum, # 总和'数学': 'count', # 总数'英语':'mean'}) # 平均# 7.14 性别分别替换为1/0
df2 = df2.dropna()
df2['性别'] = df2['性别'].map({'男':1, '女':0})# 7.15 增加一列按省份分组的语文平均分
df2['语文平均分'] = df2.groupby('省份')['语文'].transform('mean')# 7.16 输出语文成绩最高的男生和女生(groupby默认会去掉空值)
def get_max(g):df = g.sort_values('语文',ascending=True)print(df)return df.iloc[-1,:]df2.groupby('性别').apply(get_max)# 7.17 按列省份、城市进行分组,计算语文、数学、英语成绩最大值的透视表
df.pivot_table(index=['省份','城市'], values=['语文','数学','英语'], aggfunc=max)

数据统计

# 8.1 数据汇总统计
df.describe()# 8.2 列中非空值的个数
df.count()# 8.3 列最小值
df.min()# 8.4 列最大值
df.max()# 8.5 列均值
df.mean()# 8.6 列中位数
df.median()# 8.7 列与列之间的相关系数
df.corr()# 8.8 列的标准差
df.std()# 8.9 语文成绩指标
# 对语文列求和
sum0 = df_last['语文'].sum()
# 语文成绩方差
var = df_last['语文'].var()
# 语文成绩标准差
std = df_last['语文'].std()
# 语文平均分
mean = df_last['语文'].mean()print('语文总分:',sum0)
print('语文平均分:',mean)
print('语文成绩标准差:',std)
print('语文成绩方差:',var)# 8.10 三个科目的指标
mean = df_last[['语文','数学','英语']].mean()
var  = df_last[['语文','数学','英语']].var()
total = df_last[['语文','数学','英语']].sum()
std = df_last[['语文','数学','英语']].std()
rows = [total,mean,var,std]
# 索引列表
index = ['总分','平均分','方差','标准差']
# 根据指定索引和行构造 DataFrame 对象
df_tmp = pd.DataFrame(rows,index=index)

表格样式

# 9.1 示例数据
df = pd.read_csv(filename, encoding='gbk')# 9.2 列重命名
df.columns = ['姓名','性别','语文','数学','英语','城市','省份']# 9.3 设置空值背景红色
df.style.highlight_null(null_color = 'red')# 9.4 最大数据高亮
df.style.highlight_max()# 9.5 最小数据高亮
df.style.highlight_min()# 9.6 部分列最大数据高亮
df.style.apply(highlight_max, subset=['语文', '数学'])# 9.7 部分列数据高亮(Dataframe全为数据)
df3 = df[['语文','数学','英语']]
def highlight_max(s):is_max = s == s.max()return ['background-color: yellow' if v else '' for v in is_max]df3.style.apply(highlight_max)# 9.8 95分以上显示红色
def color_negative_red(val):color = 'red' if val > 95.0 else 'black'return 'color: %s' % colordf3.style.applymap(color_negative_red)# 9.9 混合
df3.style.applymap(color_negative_red).apply(highlight_max)# 9.10 设置float类型列数据大于80.0的背景高亮
yellow_css = 'background-color: yellow'
sfun = lambda x: yellow_css if type(x) == float and x > 80.0 else ''
df3.style.applymap(sfun)# 9.11 设置数学成绩大于80.0分的行背景高亮
yellow_css = 'background-color: yellow'
sfun = lambda x: [yellow_css]*len(x) if x.数学 > 80.0 else ['']*len(x)
df3.style.apply(sfun, axis=1)# 9.12 设置数学成绩大于95.0的行数据颜色为红色
def row_color(s):if s.数学 > 95:return ['color: red']*len(s)else:return ['']*len(s)df3.style.apply(row_color, axis=1)# 9.13 显示热度图
import seaborn as sns
cm = sns.light_palette("green", as_cmap=True)
df3.style.background_gradient(cmap=cm)

refer

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Axure高保真原型】中继器表格——移入显示详情卡片

今天和大家分享中继器表格——移入显示详情卡片的原型模板&#xff0c;鼠标移入员工姓名&#xff0c;会显示对应员工的详细卡片&#xff0c;那这个原型是用中继器制作的&#xff0c;所以使用也很方便&#xff0c;在中继器表格里维护对应的信息即可。预览时即可生成交互效果&…

MapReduce综合应用案例 — 电信数据清洗

文章目录 第1关&#xff1a;数据清洗 第1关&#xff1a;数据清洗 测试说明 平台会对你编写的代码进行测试&#xff1a; 评测之前先在命令行启动hadoop&#xff1a;start-all.sh&#xff1b; 点击测评后MySQL所需的数据库和表会自动创建好。 PhoneLog&#xff1a;封装对象 L…

用ThreeJS写了一个圣诞树

使用什么技术写 一开始我准备用htmlcss去写&#xff0c;后来感觉使用html和css写就太low了&#xff0c;没有一点点心意。就打算用three.js写一个3d版本的。 简单介绍一下threejs Three.js是一个基于原生WebGL封装运行的三维引擎&#xff0c;是最著名的3D WebGL JavaScriptTh…

SpringBoot3知识总结

SpringBoot3 1、简介 1. 前置知识 Java17Spring、SpringMVC、MyBatisMaven、IDEA 2. 环境要求 环境&工具版本&#xff08;or later&#xff09;SpringBoot3.0.5IDEA2022Java17Maven3.5 3. SpringBoot是什么 Spring Boot是Spring项目中的一个子工程&#xff0c;与我们…

第二百一十五回 如何创建单例模式

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"分享三个使用TextField的细节"沉浸式状态样相关的内容&#xff0c;本章回中将介绍 如何创建单例模式.闲话休提&#xff0c;让我们一起Talk Flutter吧。 …

java实现局域网内视频投屏播放(三)投屏原理

常见投屏方案 常见的投屏方案主要有以下几种&#xff1a; DLNA DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟)。DLNA委员会已经于2017年1月5日正式解散&#xff0c;原因是旧的标准已经无法满足新设备的发展趋势&#xff0c;DLNA标准将来也不会再更新。但是…

C 库函数 - mktime()

描述 C 库函数 time_t mktime(struct tm *timeptr) 把 timeptr 所指向的结构转换为自 1970 年 1 月 1 日以来持续时间的秒数&#xff0c;发生错误时返回-1。 声明 下面是 mktime() 函数的声明。 time_t mktime(struct tm *timeptr)参数 timeptr – 这是指向表示日历时间的…

Day18

Day18 一,Map 1,HashMap 1.1HashMap的使用 import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map.Entry; import java.util.Set;public class Test01 {/*** 知识点&#xff1a;HashMap的使用*/public static void main(…

【MySQL】数据库基础入门 安装MySQL

目录 介绍&#xff1a; 安装MySQL: 设置 root 账号密码 2.配置环境变量 2.找到 Path 系统变量, 点击 "编辑" 介绍&#xff1a; MySQL是一个开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是一种用于管理和存储数据的软件。 安装MySQL: …

MyBatis进行CRUD中添加数据实现主键回填

文章目录 MyBatis进行CRUD中添加数据实现主键回填1、创建一个mybatis项目2、实现添加数据时主键回填在MyBatisTest.java中添加下面方法在UserMapper.java中添加对应的属性在UserMapper.xml中添加sql语句如下运行结果如下(取消commit方法注释后就不会出现Rolling back回滚进行真…

hive数据库分区表数据迁移到另一个分区/数据复制

文章目录 一、分区表数据迁移到另一个分区表1.1、方式一1.2、方式二 二、报错解决 一、分区表数据迁移到另一个分区表 有个需求&#xff0c;创建一张备份表&#xff0c;将分区表中的数据迁移到备份表中。以下整理一下几种迁移方式。 创建分区表&#xff1a; create table use…

JRT打印元素绘制协议整合PDF

打印不光要能打印内部的单据&#xff0c;对于检验的打印还有外送回传的PDF报告也需要能够打印&#xff0c;所以需要把打印PDF文件整合进来&#xff0c;为此给打印元素绘制协议增加PDF类型的元素。 定义如下&#xff0c;由绘制协议按地址下载文件后和其他打印元素整合&#xff…

107基于matlab的模糊推理系统(ANFIS)的时间序列预测

基于matlab的模糊推理系统&#xff08;ANFIS&#xff09;的时间序列预测&#xff0c;输出训练集、测试集和预测数据结果&#xff0c;数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 107 时间序列预测模糊推理系统 (xiaohongshu.com)

[ZJCTF 2019]NiZhuanSiWei1

[ZJCTF 2019]NiZhuanSiWei1 预测试 打开网页就是代码&#xff1a; <?php $text $_GET["text"]; $file $_GET["file"]; $password $_GET["password"]; if(isset($text)&&(file_get_contents($text,r)"welcome to the zjct…

金蝶云星空部署包执行后元数据对象的变化和使用

文章目录 金蝶云星空部署包执行后元数据对象的变化和使用 金蝶云星空部署包执行后元数据对象的变化和使用 部署包执行后&#xff0c;会将执行的元数据记录了部署包的版本号&#xff0c;带上改部署包的开发商标识&#xff0c;在被执行后部署包环境里只有当前开发商下的开发者才…

Android Selinux权限之MLS

MLS Selinux MLS 相关的在 国内Andoriod 官网未找到&#xff0c;只有博客的说明。 源码在 system/sepolicy/private/mls &#xff0c; 截取部分&#xff0c; # Read operations: Subject must dominate object unless the subject # or the object is trusted. mlsconstrai…

ObjectArx调用cad内部命令

PhdArxCadCmd.h #pragma once #include <memory> #include <mutex>class PhdArxCadCmd final { public:static PhdArxCadCmd* Instance();private:PhdArxCadCmd() default;static std::unique_ptr<PhdArxCadCmd> m_self; //声明静态对象public://关闭命令回…

【论文笔记】MCANet: Medical Image Segmentation withMulti-Scale Cross-Axis Attention

医疗图像分割任务中&#xff0c;捕获多尺度信息、构建长期依赖对分割结果有非常大的影响。该论文提出了 Multi-scale Cross-axis Attention&#xff08;MCA&#xff09;模块&#xff0c;融合了多尺度特征&#xff0c;并使用Attention提取全局上下文信息。 论文地址&#xff1a…

蔚来打败“蔚来”

作者 | 魏启扬 来源 | 洞见新研社 继2019年后&#xff0c;又一次深陷倒闭传闻的蔚来汽车&#xff0c;“在关键时刻找到钱了”。 12月18日&#xff0c;蔚来汽车宣布&#xff0c;与阿布扎比投资机构CYVN Holdings签订新一轮股份认购协议&#xff0c;CYVN Holdings将通过其附属公…