精液分析报告,请专家为我解说一下。

精液分析报告,请专家为我解说一下。,第1张

1精液量正常:2-5ML

2。液化时间正常:60分钟内完全液化,30分钟内液化最好。

3。精子活动率较低:75%以上

4。精子活动力较低:A+B=50%,A级在25%以上。

其它的都正常,这样的报告完全可以怀孕,但比一般人怀孕率要低些,建议去医院再做一个前列腺常规检查,这样比较安全一些。

祝好运!

main()

{char str[]="helloeverybody";

int i=1,j=0;

while(str[i]!='\0')

{

if(str[i]>str[j]) j=i; //此处的循环表示字符数组里的元素,后面一个比前面一个大,那么就把后面的索 引赋给前者,如此循环,找不最大的字符,由于字符'y'最大,那么j的索引指向'y',而str[i]就为'\0'了;

i++;

}

str[j]=str[i]; //把‘\0’赋给'y',即去掉从'y'开始的字符串

puts(str); //即答案为:helloever

}

#include <stdioh>

int order(int a[],int i)

{return a[i]<a[i+1]; //数组中后面的元素比前面大,那么就返回真,否则返回假

}

void main()

{

int n,a[]={29,5,18,8,5,3,8,2};

for(n=0;n<7;n++)

if(order(a,n)) //如果返回真,就输出

printf("%d,%d\n",a[n],a[n+1]);

}

即答案为:

5 18

3 8

一、数值计算和统计

1基本参数axis轴和skipna跳过空值

dfmean() #mean()默认列计算均值

dfmean(axis=1) #mean(axis=1)为行计算均值

dfmean(axis=1,skipna=False) #按照行算平均值,直接过滤掉空值和非数值结构;如果想不忽略空值计算,需要skipna参数=False --但是仍然忽略非数值结构

2计算

dfquantile(q=n) #n分位数  dfstd()标准差  dfskew() #样本的偏度  dfkurt()#样本的峰度

3累计求和/累计求积/累计最大值/累计最小值

df['key1']cumsum()/cumprod()/cummax()/cummin()

4保留唯一值:unique()

5计数:value_counts()每个值重复的频率,得到新的Series

svalue_counts(sort=False) #sort参数:对频率排序,默认True

6成员资格:isin()类似in 语句,就算只有一个元素也要用[]

sisin([5])   sisin([5,13])

二、文本数据

1通过str访问,且自动忽略丢失/NAN值;不仅适用于值,还适用于列和index

sstrcount('b') #str调用文本数据的方法

df['key2']strupper() key2列全部大写

dfcolumns = dfcolumnsstrupper() 列名全部大写

2字符串常用方法:sstrlower()/sstrupper()/sstrlen()/sstrstartswith()/sstrendswith()

3strip删除空格 lstrip左删除 rstrip右删除:dfcolumns = dfcolumnsstrstrip()

4替换:replace(old,new,n替换第几个)

5分列:split rsplit只用于字符串,适用于Series 和DataFrame

(1)sstrsplit(',')[0] #在分列基础上再次选取[]代表选行

(2)sstrsplit(',')str[0] #如果想选择值里面的第一列,那就再加个str

sstrsplit(',')strget(1) #与上面的得结果一致,# 可以使用get或[]符号访问拆分列表中的元素

(3)分列后再分多个行:参数expand 默认False不分多行, 参数n最后要拓展几列

sstrsplit(',',expand=True,n=1)

6字符串索引:sstr[0] # 取第一个字符、sstr[:2] # 取前两个字符

三、合并merge、join

1 pdmerge(left,right,on='键',how=’inner‘交集默认/outer/left/right,left_on左面的df以哪列作为键,left_index以左面df的index作为键 ,sort按照键排序)

例:pdmerge(df3,df4,on=['key1','key2'])#多个参考值连接

2 pdjoin()-直接通过索引进行连接

(1)  join中suffixes=('_x','_y') 参数:当合并的列明重复时,通过它区分

注:虽然join默认以index为键,但是可以用on改变

四、连接与修补

1concat([s1,s2],axis=0行=1列,join默认并集=inner交集,join_axes=['a']直指定显示连接后显示的轴)f

(1)concat([])以列表的形式

(2)index参数:是否要根据index进行排序

(3)axis=0默认行+行,axis=1列+列生成df

(4)keys = ['one','two']当axis=0时,keys层次的名称;axis=1时,keys为columns的名称

2df1combine_first(df2)#通过index配对后把df2的值修补到df1的NaN上,如果df2的值多于df1会被更新上

#df1update(df2):df2直接 全部覆盖df1

五、去重及替换:duplicated/replace

1duplicated返回布尔型(True被重复,False没被重复,从上往下依次判断,所以第一个出现肯定不会重复)

2移除重复drop_duplicates()inplace默认false,True代替原值

#以上df同样适用

3替换replace(通用):注:传入字典,key为old,values为new

六、分组

1groupby(axis=0默认按行(数据)分组=1按列分组;分组后的计算得到新的df;可以单个或多个[]分组)

例:dfgroupby('A')返回DataFrameGroupBy,是中间数据

例:dfgroupby('A')sum() 返回的是聚合后的数据

dfgroupby(['A','B'])可以多行分组 ;dfgroupby(['A'])['D']mean()也可以分组后对某列求聚合函数

2分组结果是可迭代的对象:

(1) list(dfgroupby('X')) #返回[(组名1,df1),(组名2,df2)]#返回list

(2)list(dfgroupby('X'))[0]

(3)提取分组 get_group():dfgroupby(['X'])get_group('A') #选择分组后的组A

(4)groups:将分组后的group变成字典dict,key是组名,values是组的index;可以以字典索引方法查看groups里的元素

grouped = dfgroupby(['X']), groupedgroups['A']

(5)size()查看分组后的长度  sz = groupedsize()

3按照数值类型分组:axis=1按照列进行分组

dfdtypes #返回Series,判断各个值是什么类型

dfgroupby(dfdtypes,axis=1)sum() #把Series传入groupby,axis=1按照列进行分组

4按照字典:如果特地想把某几列分一组,可以建立字典后分组

mapping = {'a':'one','b':'one','c':'two','d':'two','e':'three'}#ab列对应为one,cd列对应为twe,以字典分组

by_column = dfgroupby(mapping,axis=1)

by_columnsum()

5按照Series分组:axis=1按照列进行分组

6按照函数分组:dfgroupby(len)sum() #按照index的字母长度分组

7多函数计算:agg(['',''或npxx]): 

dfgroupby('a')agg(['mean',npsum])

dfgroupby('a')['b']agg({'result1':npmean,'result2:':npsum})  #通过dict传入多函数,key为生成结果的columns

七、分组转换拆分-应用-合并:transform、apply

1数据分组转换transform

(1)方法一、先分组groupby后合并merge等价于transform

(2)方法二、transform会将一个函数应用到各个分组,然后将结果以index全部展现:dfgroupby('key2')transform(npmean)

2一般化groupby方法:apply--自定义函数,分组后按照该函数运行

dfgroupby('key1')apply(f_df1,2) #apply(函数名,第二个参数)第一个参数默认为apply所执行的

八、数据透视表及交叉表

(1)#透视表 pivot_table(data-df数组,values要聚合的数值,index数透的index,columns透视表的列,aggfunc用于聚合的函数,默认为numpymean)

(2)交叉表crosstab 默认情况下,crosstab计算因子的频率表,比如用str的数据透视分析;

#pdcrosstab(Series1,Series2,normalize,values,aggfunc)只接收两个Series,将提供出现的频率表

#参数normalize:默认False将所有值除以值总和进行归一化,=true时显示频率百分比;

#参数values,aggfunc:S1和S2因子聚合后得出values的值并聚合成aggfunc的函数

#参数margins:=True时规格显示的结果并给出行列的总和all

九、数据读取:read_table、read_csv逗号分隔符数据、read_excel

1读取普通分隔数据::read_table(dfile,delimiter,header=0第0行开始算并为列名,index_col某列开始为索引)可以读取csv和txt

2读取csv文件:read_csv(file,engine='python',encoding='utf-8)

3读取excel文件 read_excel(file,sheetname=[0,1]返回多个sheet/none返回全表--如果是int/string返回的是df,如果是list或None返回的是dict)

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/qinggan/7997896.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-07
下一篇2023-09-07

发表评论

登录后才能评论

评论列表(0条)

    保存