컬렉션 | 100가지 일반적인 Pandas 기본 지침의 종합 컬렉션
import pandas as pd import numpy as np
2.1 'gbk'로 인코딩하여 CSV 파일에서 데이터 읽기
2.6 데이터 저장
# 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 从限定分隔符(',')的文件或文本读取数据 pd.read_table(filename, sep=',', encoding='gbk') # 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')
3.1 查看前n行
3.7 查看数值型列的汇总统计
# 3.1 查看前n行 df.head(3) # 3.2 查看后n行 df.tail(3) # 3.3 查看行数和列数 df.shape # 3.4查看列索引 df.columns # 3.5 查看行索引 df.index # 3.6 查看索引、数据类型和内存信息 df.info() # 3.7 查看数值型列的汇总统计 df.describe() # 3.8 查看每一列的唯一值和计数 df.apply(pd.Series.value_counts)
4.1 重命名列名
4.2 选择性更改列名
4.3 批量更改索引
4.4 批量更改列名
4.5 이름 열을 행 인덱스로 설정
4.6 누락된 값이 포함된 열 확인
4.7 각 열의 Null 값 계산
4.8 Null 값이 있는 행 삭제 이 열에서
4.9 열에서 null 값이 있는 이 행만 유지
4.10 행 제거
4.11 열 제거
4.12 null 값이 있는 모든 행 삭제
4.13 행에 모든 null 값이 있는 행 삭제
4.14 Null 값이 포함된 모든 열 삭제
4.15 Null이 아닌 값이 6개 이상 포함된 행 유지
4.16 Null이 아닌 값이 11개 이상 포함된 열 유지
4.17 행 데이터가 아래쪽으로 채워짐
4.18 열 데이터를 오른쪽으로 채움
4.19 모든 null 값을 0으로 대체
4.20 Cast 데이터 유형
4.21 도시가 몇 개 있는지 확인
4. 22 단일 값 대체
4.23 다중값 대체
4.24 단일 값의 다중값 대체
4.25 특정 열을 대체하고 추가해야 할 내용을 표시합니다. inplace=True
4.26 특정 열을 분할하여 생성합니다. 새로운 데이터프레임
# 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.2 输出城市为上海或广州
5.3 输出城市名称中含有‘海’字的行
5.4 输出城市名称以‘海’字开头的行
5.5 输出城市名称以‘海’字结尾的行
5.6 모든 이름 출력, 누락된 값을 Null로 채우기
5.7 인덱스 재설정
5.8 처음 두 줄
5.9 마지막 두 줄
5.10 2~8줄
5.11 3줄마다 읽기
5.12 2~8행, 단계 크기는 2, 즉 2/4/6행
5.13 '중국어', '수학', '영어' 선택 열
5.14 학번이 '001'인 행, 모든 열
5.15 학번이 '001' 또는 '003'인 행, 모든 열
5.16 학번이 '001'~'009'인 행, 모든 열
5.17 열 인덱스는 '이름'입니다. , 모든 행
5.18 '이름'에서 '도시'까지의 열 인덱스, 모든 행
5.19 중국어 점수가 80보다 큰 행
5.20 중국어 점수가 80보다 큰 학생 번호 및 사람 이름
5.21 '조시', '주기' 과목별 점수 출력
5.22 2행 선택
5.23 처음 3행 선택
5.24 选取第2行、第4行、第6行
5.25 选取第2列
5.26 选取前3列
5.27 选取第3行的第3列
5.28 选取第1列、第3列和第4列
5.29 选取第2行的第1列、第3列、第4列
# 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.2 중국어 점수 오름차순 정렬, 기본 오름차순
6.3 수학 점수별로 정렬 내림차순
6.4 중국어 점수 오름차순으로 먼저 정렬하고, 수학 점수 내림차순으로 정렬합니다.
6.5 중국어 점수 80점 이상
6.6 중국어 점수 80점 이상, 수학 점수 90점 이상
6.7 중국어 80점 이상 또는 수학 90점 이상
6.8 输出成绩100的行和列号
6.9 增加一列“省份-城市”
6.10 增加一列总分
6.11 按照总分、语文、数学、英语成绩依次排序
# 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 一列分组
7.2 多列分组
7.3 각 그룹의 통계 (수평으로 표시됨)
7.4 각 그룹의 통계 (수직으로 표시)
7.5 지정된 열의 통계 정보보기
7.6 그룹 크기
7.7 최대 그룹화 최대 그룹화 최대 값 Score
7.8 그룹 최소 점수
7.9 그룹 총점
7.10 그룹 평균 점수
7.11 지역별로 그룹화하여 총점과 평균 영어 점수를 계산
7.12 按省份、城市分组计算平均成绩
7.13 不同列不同的计算方法
7.14 性别分别替换为1/0
7.15 增加一列按省份分组的语文平均分
7.16 输出语文成绩最高的男生和女生(groupby默认会去掉空值)
# 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 데이터 요약 통계
8.2 열에 포함된 Null이 아닌 값의 수
8.3 열 최소값
8.4 열 최대값
8.5 열 평균
8.6 열 중앙값
8.7 열 간 상관 계수
8.8 列的标准差
8.9 语文成绩指标
# 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 示例数据
9.2 列重命名
9.3 设置空值背景红色
9.4 최대 데이터 강조
9.5 최소 데이터 강조
9.6 부분 열 최대 데이터 강조
9.7 부분 열 데이터 강조(Dataframe은 모든 데이터)
9.8 95점 위 내용은 빨간색
9.9 혼합
9.10 80.0보다 큰 부동 소수점 유형 열 데이터에 대한 배경 강조 표시 설정
9.11 수학 점수가 80.0보다 큰 행에 대한 배경 강조 표시 설정
9.12 다음보다 큰 수학 점수 설정 95.0의 행 데이터 색상은 빨간색입니다
# 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' % color df3.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)
위 내용은 컬렉션 | 100가지 일반적인 Pandas 기본 지침의 종합 컬렉션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

XML 구조가 유연하고 다양하기 때문에 모든 XML 파일을 PDF로 변환 할 수있는 앱은 없습니다. XML에서 PDF의 핵심은 데이터 구조를 페이지 레이아웃으로 변환하는 것입니다. XML을 구문 분석하고 PDF를 생성해야합니다. 일반적인 방법으로는 요소 트리와 같은 파이썬 라이브러리를 사용한 XML 및 ReportLab 라이브러리를 사용하여 PDF를 생성하는 XML을 구문 분석합니다. 복잡한 XML의 경우 XSLT 변환 구조를 사용해야 할 수도 있습니다. 성능을 최적화 할 때는 멀티 스레드 또는 멀티 프로세스 사용을 고려하고 적절한 라이브러리를 선택하십시오.

모바일 XML에서 PDF의 속도는 다음 요인에 따라 다릅니다. XML 구조의 복잡성. 모바일 하드웨어 구성 변환 방법 (라이브러리, 알고리즘) 코드 품질 최적화 방법 (효율적인 라이브러리 선택, 알고리즘 최적화, 캐시 데이터 및 다중 스레딩 사용). 전반적으로 절대적인 답변은 없으며 특정 상황에 따라 최적화해야합니다.

단일 애플리케이션으로 휴대 전화에서 직접 XML에서 PDF 변환을 완료하는 것은 불가능합니다. 두 단계를 통해 달성 할 수있는 클라우드 서비스를 사용해야합니다. 1. 클라우드에서 XML을 PDF로 변환하십시오. 2. 휴대 전화에서 변환 된 PDF 파일에 액세스하거나 다운로드하십시오.

XML 이미지를 먼저 변환하려면 먼저 XML 데이터 구조를 결정한 다음 Python의 Matplotlib와 같은 적절한 그래픽 라이브러리를 선택하고 데이터 구조를 기반으로 시각화 전략을 선택하고 데이터 볼륨 및 이미지 형식을 고려하고 효율적인 라이브러리를 수행하거나 필요에 따라 PNG, JPEG 또는 SVG로 저장하십시오.

대부분의 텍스트 편집기를 사용하여 XML 파일을여십시오. 보다 직관적 인 트리 디스플레이가 필요한 경우 Oxygen XML 편집기 또는 XMLSPy와 같은 XML 편집기를 사용할 수 있습니다. 프로그램에서 XML 데이터를 처리하는 경우 프로그래밍 언어 (예 : Python) 및 XML 라이브러 (예 : XML.etree.elementtree)를 사용하여 구문 분석해야합니다.

XML 서식 도구는 규칙에 따라 코드를 입력하여 가독성과 이해를 향상시킬 수 있습니다. 도구를 선택할 때는 사용자 정의 기능, 특수 상황 처리, 성능 및 사용 편의성에주의하십시오. 일반적으로 사용되는 도구 유형에는 온라인 도구, IDE 플러그인 및 명령 줄 도구가 포함됩니다.

XML 미화는 합리적인 압입, 라인 브레이크 및 태그 구성을 포함하여 기본적으로 가독성을 향상시키고 있습니다. 원칙은 XML 트리를 가로 지르고 레벨에 따라 들여 쓰기를 추가하고 텍스트가 포함 된 빈 태그와 태그를 처리하는 것입니다. Python의 xml.etree.elementtree 라이브러리는 위의 미화 프로세스를 구현할 수있는 편리한 Pretty_XML () 기능을 제공합니다.
