Pandas学习笔记——综合练习

本文通过两个案例:上海机动车牌照拍卖数据分析及俄罗斯机场货运航班运载量分析,详细演示了使用Pandas进行数据处理和分析的方法,包括数据清洗、统计分析、数据可视化等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
Task06:综合练习(1天)

import numpy as np
import pandas as pd

# 加上这两行可以一次性输出多个变量而不用print
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

一、2002 年——2018 年上海机动车拍照拍卖

问题

(1) 哪一次拍卖的中标率首次小于5%?(考察点:创建列,索引)

path = 'C:/Users/86187/Desktop/第12期组队学习/组队学习Pandas/'
df = pd.read_csv(path + '2002年-2018年上海机动车拍照拍卖.csv')
df.head()
df.shape
DateTotal number of license issuedlowest priceavg priceTotal number of applicants
02-Jan140013600147353718
12-Feb180013100140574590
22-Mar200014300146625190
32-Apr230016000163344806
42-May235017800183574665
(203, 5)
df_1 = df.copy()
df_1['New'] = df_1['Total number of license issued'] / df_1[
    'Total number of applicants']
for i in range(df.shape[0]):
    if df_1['New'][i] < 0.05:
        df_1.loc[i]
        break
Date                                 15-May
Total number of license issued         7482
lowest price                          79000
avg price                             79099
Total number of applicants           156007
New                               0.0479594
Name: 159, dtype: object

(2) 将第一列时间列拆分成两个列,一列为年份(格式为20××),另一列为月份(英语缩写),添加到列表作为第一第二列,并将原表第一列删除,其他列依次向后顺延。
(考察点:拆分列)

df_2 = df.copy()
date = pd.MultiIndex.from_tuples(df_2.Date.apply(lambda x: x.split('-')))
date
MultiIndex([( '2', 'Jan'),
            ( '2', 'Feb'),
            ( '2', 'Mar'),
            ( '2', 'Apr'),
            ( '2', 'May'),
            ( '2', 'Jun'),
            ( '2', 'Jul'),
            ( '2', 'Aug'),
            ( '2', 'Sep'),
            ( '2', 'Oct'),
            ...
            ('18', 'Mar'),
            ('18', 'Apr'),
            ('18', 'May'),
            ('18', 'Jun'),
            ('18', 'Jul'),
            ('18', 'Aug'),
            ('18', 'Sep'),
            ('18', 'Oct'),
            ('18', 'Nov'),
            ('18', 'Dec')],
           length=203)
df_2.index = date
df_2 = df_2.reset_index().drop(columns='Date')
df_2.head()
level_0level_1Total number of license issuedlowest priceavg priceTotal number of applicants
02Jan140013600147353718
12Feb180013100140574590
22Mar200014300146625190
32Apr230016000163344806
42May235017800183574665
df_2['level_0'] = df_2.level_0.apply(lambda x: str(2000+int(x)))
df_2.head()
level_0level_1Total number of license issuedlowest priceavg priceTotal number of applicants
02002Jan140013600147353718
12002Feb180013100140574590
22002Mar200014300146625190
32002Apr230016000163344806
42002May235017800183574665
df_2 = df_2.rename({'level_0':'Year', 'level_1':'Month'},axis=1)
df_2.head()
YearMonthTotal number of license issuedlowest priceavg priceTotal number of applicants
02002Jan140013600147353718
12002Feb180013100140574590
22002Mar200014300146625190
32002Apr230016000163344806
42002May235017800183574665

(3) 按年统计拍卖最低价的下列统计量:最大值、均值、0.75 分位数,要求显示在同一张表上。(考察点:创建列、索引、分组、统计量、分列)

df_3 = df_2.copy()
df_3.head()
df_3.index
df_3.columns
YearMonthTotal number of license issuedlowest priceavg priceTotal number of applicants
02002Jan140013600147353718
12002Feb180013100140574590
22002Mar200014300146625190
32002Apr230016000163344806
42002May235017800183574665
RangeIndex(start=0, stop=203, step=1)

Index(['Year', 'Month', 'Total number of license issued', 'lowest price ',
       'avg price', 'Total number of applicants'],
      dtype='object')
from collections import OrderedDict
grouped = df_3.groupby('Year')

def f(df_3):
    data = OrderedDict()
    data['Max'] = df_3['lowest price '].max()
    data['Mean'] = df_3['lowest price '].mean()
    data['quantile_0.75'] = df_3['lowest price '].quantile(q=0.75)
    return pd.Series(data)

grouped.apply(f)
MaxMeanquantile_0.75
Year
200230800.020316.66666724300.0
200338500.031983.33333336300.0
200444200.029408.33333338400.0
200537900.031908.33333335600.0
200639900.037058.33333339525.0
200753800.045691.66666748950.0
200837300.029945.45454534150.0
200936900.031333.33333334150.0
201044900.038008.33333341825.0
201153800.047958.33333351000.0
201268900.061108.33333365325.0
201390800.079125.00000082550.0
201474600.073816.66666774000.0
201585300.080575.00000083450.0
201688600.085733.33333387475.0
201793500.090616.66666792350.0
201889000.087825.00000088150.0

(4) 现在将表格行索引设为多级索引,外层为年份,内层为原表格第二至第五列的变量名,列索引为月份。(考察点:多级索引)

df_4 = df_2.copy()
df_4.head()
df_4.columns
YearMonthTotal number of license issuedlowest priceavg priceTotal number of applicants
02002Jan140013600147353718
12002Feb180013100140574590
22002Mar200014300146625190
32002Apr230016000163344806
42002May235017800183574665
Index(['Year', 'Month', 'Total number of license issued', 'lowest price ',
       'avg price', 'Total number of applicants'],
      dtype='object')
# 貌似不是想要的结果
df_4 = df_4.set_index([
    'Year', 'Total number of license issued', 'lowest price ', 'avg price',
    'Total number of applicants'
])
df_4.head()
Month
YearTotal number of license issuedlowest priceavg priceTotal number of applicants
2002140013600147353718Jan
180013100140574590Feb
200014300146625190Mar
230016000163344806Apr
235017800183574665May
df_4 = pd.pivot_table(df_4,
                     index='Year',
                     columns='Month',
                     values=[
                         'Total number of license issued', 'lowest price ',
                         'avg price', 'Total number of applicants'
                     ])
df_4.head()
Total number of applicantsTotal number of license issuedavg pricelowest price
MonthAprAugDecFebJanJulJunMarMayNovOctSepAprAugDecFebJanJulJunMarMayNovOctSepAprAugDecFebJanJulJunMarMayNovOctSepAprAugDecFebJanJulJunMarMayNovOctSep
Year
20024806.04640.03525.04590.03718.03774.04502.05190.04665.04021.04661.04393.02300.03000.03600.01800.01400.03000.02800.02000.02350.03200.03200.03200.016334.021601.027848.014057.014735.020904.020178.014662.018357.031721.027040.024040.016000.021000.027800.013100.013600.019800.019600.014300.017800.030800.026400.023600.0
20038794.09315.010491.012030.09442.011929.015507.011219.014634.09849.09383.08532.03300.04500.04776.03000.03000.06000.05500.03000.03800.05042.04500.06650.034845.039369.038054.025254.024267.038269.037667.029551.036903.034284.034842.038728.034100.038500.037100.023800.018800.036900.036100.028800.035000.033100.032800.028800.0
20048150.015506.09005.010156.08663.014464.019233.09950.08114.09188.09519.010634.05500.06800.05500.04800.05000.06600.06233.04800.06527.06600.06600.06640.045492.025991.030282.040053.039516.023544.021001.043333.034226.027620.029768.030033.044200.025100.029300.039600.038000.021800.017800.043000.010800.026000.028000.029300.0
20058113.07520.08351.08949.06208.08777.08409.09117.09673.013633.011167.010972.05000.06829.05700.03800.05500.06326.05690.04000.05833.05700.06000.06700.037355.035905.036749.032425.032520.038378.037479.034684.035661.030320.026385.028927.036800.025000.035200.031700.028500.037900.037000.034300.035000.029800.025200.026500.0
20067888.09190.09477.012367.05907.08966.08478.08904.08301.0110234.011237.07064.05000.06200.06500.03800.05000.05500.04500.04500.04500.06000.06500.06500.038326.040459.040518.034887.031220.039966.039752.038932.038139.038460.037899.041601.037500.039900.039800.034200.026900.039600.039500.038500.037700.037800.036300.037000.0
df_4 = df_4.stack(level=0).fillna('-')
df_4.head()
# 不知道结果对不对,个人感觉还行,除了月份顺序不定
MonthAprAugDecFebJanJulJunMarMayNovOctSep
Year
2002Total number of applicants4806.04640.03525.045903718.03774.04502.05190.04665.04021.04661.04393.0
Total number of license issued2300.03000.03600.018001400.03000.02800.02000.02350.03200.03200.03200.0
avg price16334.021601.027848.01405714735.020904.020178.014662.018357.031721.027040.024040.0
lowest price16000.021000.027800.01310013600.019800.019600.014300.017800.030800.026400.023600.0
2003Total number of applicants8794.09315.010491.0120309442.011929.015507.011219.014634.09849.09383.08532.0

(5) 一般而言某个月最低价与上月最低价的差额,会与该月均值与上月均值的差额具有相同的正负号,哪些拍卖时间不具有这个特点?(考察点:统计量,分组,合并,索引排序)

df_5 = df_2[['Year','Month','lowest price ','avg price']].copy()
df_5.head()
df_5.columns
YearMonthlowest priceavg price
02002Jan1360014735
12002Feb1310014057
22002Mar1430014662
32002Apr1600016334
42002May1780018357
Index(['Year', 'Month', 'lowest price ', 'avg price'], dtype='object')
df_5 = df_5.set_index(['Year', 'Month'])
df_5.head()
lowest priceavg price
YearMonth
2002Jan1360014735
Feb1310014057
Mar1430014662
Apr1600016334
May1780018357
index = df_5.index
for ind in range(len(index)-1):
    if (df_5.loc[index[ind + 1]][0] - df_5.loc[index[ind]][0]) * (
            df_5.loc[index[ind + 1]][1] - df_5.loc[index[ind]][1]) < 0:
        print(df_2.loc[ind+1,['Year','Month']])
        print('\n')
Year     2003
Month     Oct
Name: 21, dtype: object


Year 2003
Month Nov
Name: 22, dtype: object


Year 2004
Month Jun
Name: 29, dtype: object


Year 2005
Month Jan
Name: 36, dtype: object


Year 2005
Month Feb
Name: 37, dtype: object


Year 2005
Month Sep
Name: 44, dtype: object


Year 2006
Month May
Name: 52, dtype: object


Year 2006
Month Sep
Name: 56, dtype: object


Year 2007
Month Jan
Name: 60, dtype: object


Year 2007
Month Feb
Name: 61, dtype: object


Year 2007
Month Dec
Name: 71, dtype: object


Year 2012
Month Oct
Name: 128, dtype: object


(6) 将某一个月牌照发行量与其前两个月发行量均值的差额定义为发行增益,最初的两个月用0 填充,求发行增益极值出现的时间。(考察点:统计量,索引,排序,差分)

df_6 = df_2[['Year','Month','Total number of license issued']].copy()
df_6['Gain'] = 0
df_6.head()
df_6.columns
YearMonthTotal number of license issuedGain
02002Jan14000
12002Feb18000
22002Mar20000
32002Apr23000
42002May23500
Index(['Year', 'Month', 'Total number of license issued', 'Gain'], dtype='object')
df_6 = df_6.set_index(['Year', 'Month'])
df_6.head()
Total number of license issuedGain
YearMonth
2002Jan14000
Feb18000
Mar20000
Apr23000
May23500
index = df_6.index
for ind in range(2, len(index) - 1):
    mean = (df_6.loc[index[ind - 1]][0] + df_6.loc[index[ind - 2]][0]) / 2
    df_6['Gain'][ind] = df_6.loc[index[ind]][0] - mean
df_6.head()
Total number of license issuedGain
YearMonth
2002Jan14000
Feb18000
Mar2000400
Apr2300400
May2350200
%matplotlib inline
import matplotlib.pyplot as plt
plt.figure(figsize=(20,10))
df_6['Gain'].plot()

在这里插入图片描述

max = df_6['Gain'].max()
min = df_6['Gain'].min()
max
min
8500
-3650
for gain in range(len(df_6['Gain'])):
    if df_6['Gain'][gain] == max:
        print('极大值出现时间:', df_6.index[gain])
    if df_6['Gain'][gain] == min:
        print('极小值出现时间:', df_6.index[gain])
极大值出现时间: ('2008', 'Jan')
极小值出现时间: ('2008', 'Apr')

二、2007 年——2019 年俄罗斯机场货运航班运载量

问题

path = 'C:/Users/86187/Desktop/第12期组队学习/组队学习Pandas/'
df = pd.read_csv(path + '2007年-2019年俄罗斯货运航班运载量.csv')
df.head()
df.shape
df.columns
Airport nameYearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole yearAirport coordinates
0Abakan201944.7066.2172.775.82100.3478.3863.8873.0666.7475.44110.589.8917.57(Decimal('91.399735'), Decimal('53.751351'))
1Aikhal20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('111.543324'), Decimal('65.957161'))
2Loss20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('125.398355'), Decimal('58.602489'))
3Amderma20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('61.577429'), Decimal('69.759076'))
4Anadyr (Carbon)201981.63143.01260.9304.36122.00106.8784.99130.00102.00118.0094.0199.01746.76(Decimal('177.738273'), Decimal('64.713433'))
(3711, 16)
Index(['Airport name', 'Year', 'January', 'February', 'March', 'April', 'May',
       'June', 'July', 'August', 'September', 'October', 'November',
       'December', 'Whole year', 'Airport coordinates'],
      dtype='object')

(1) 求每年货运航班总运量。(考察点:统计量,分组)

df_1 = df.copy()
df_1.groupby('Year')['Whole year'].sum()
Year
2007    659438.23
2008    664682.46
2009    560809.77
2010    693033.98
2011    818691.71
2012    846388.03
2013    792337.08
2014    729457.12
2015    630208.97
2016    679370.15
2017    773662.28
2018    767095.28
2019    764606.27
Name: Whole year, dtype: float64

(2) 每年记录的机场都是相同的吗?(考察点:分组,查看类别值)

df_2 = df.copy()
df_2.groupby('Year')['Airport name'].count()
Year
2007    292
2008    292
2009    292
2010    292
2011    292
2012    292
2013    292
2014    292
2015    292
2016    292
2017    292
2018    248
2019    251
Name: Airport name, dtype: int64

(3) 按年计算2010 年-2015 年全年货运量记录为0 的机场航班比例。(考察点:分组,统计量,筛选)

df_3 = df.copy()
df_3.head()
Airport nameYearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole yearAirport coordinates
0Abakan201944.7066.2172.775.82100.3478.3863.8873.0666.7475.44110.589.8917.57(Decimal('91.399735'), Decimal('53.751351'))
1Aikhal20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('111.543324'), Decimal('65.957161'))
2Loss20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('125.398355'), Decimal('58.602489'))
3Amderma20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('61.577429'), Decimal('69.759076'))
4Anadyr (Carbon)201981.63143.01260.9304.36122.00106.8784.99130.00102.00118.0094.0199.01746.76(Decimal('177.738273'), Decimal('64.713433'))
df_3 = df_3[(df_3.Year<=2015) & (df_3.Year>=2010)]
df_3.head()
Airport nameYearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole yearAirport coordinates
1083Abakan201537.7047.9754.6782.1268.81112.9555.8395.20137.7972.1363.6778.30907.14(Decimal('91.399735'), Decimal('53.751351'))
1084Aikhal20150.000.000.000.000.000.000.000.000.000.000.000.000.00(Decimal('111.543324'), Decimal('65.957161'))
1085Loss20150.000.000.000.000.000.000.000.000.000.000.000.000.00(Decimal('125.398355'), Decimal('58.602489'))
1086Amderma20150.000.000.000.000.000.000.000.000.000.000.000.000.00(Decimal('61.577429'), Decimal('69.759076'))
1087Anadyr2015124.31254.19340.37286.06156.55124.9589.0572.29118.1692.89158.39316.942134.15(Decimal('177.738273'), Decimal('64.713433'))
df_3.groupby('Year').apply(lambda x: len(x[x['Whole year'] == 0]) / len(x)
                           ).apply(lambda x: format(x, '.2%'))
Year
2010    76.71%
2011    77.05%
2012    77.05%
2013    77.05%
2014    77.05%
2015    77.05%
dtype: object

(4) 若某机场至少存在5 年或以上满足所有月运量记录都为0,则将其所有年份的记录信息从表中删除,并返回处理后的表格(考察点:数据删除,分组,筛选,索引)

df_4 = df.copy()
df_4.head()
df_4.describe()
Airport nameYearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole yearAirport coordinates
0Abakan201944.7066.2172.775.82100.3478.3863.8873.0666.7475.44110.589.8917.57(Decimal('91.399735'), Decimal('53.751351'))
1Aikhal20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('111.543324'), Decimal('65.957161'))
2Loss20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('125.398355'), Decimal('58.602489'))
3Amderma20190.000.000.00.000.000.000.000.000.000.000.00.00.00(Decimal('61.577429'), Decimal('69.759076'))
4Anadyr (Carbon)201981.63143.01260.9304.36122.00106.8784.99130.00102.00118.0094.0199.01746.76(Decimal('177.738273'), Decimal('64.713433'))
YearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole year
count3711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.0000003711.000000
mean2012.874427143.047750174.173236205.743428209.632010207.959469204.179264207.930881220.353824227.028739239.991000239.022280250.3413962527.561663
std3.6897721013.2031521125.2538401404.3580661386.4524591389.4962131376.6452171407.2436601467.5737051510.8427151591.0318551613.1884131597.29453616803.633543
min2007.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
25%2010.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
50%2013.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
75%2016.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
max2019.00000021304.80000022765.70000027617.90000028634.20000027026.40000030202.60000028158.60000028298.20000029620.10000030608.60000032723.90000032533.800000329817.200000
for name, group in df_4.groupby('Airport name'):
    num = group[group['Whole year'] == 0].shape[0]
    if num > 4:
        df_4 = df_4[df_4['Airport name'] != name]
df_4.head()
df_4.describe()
Airport nameYearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole yearAirport coordinates
0Abakan201944.7066.2172.7075.82100.3478.3863.8873.0666.7475.44110.5089.80917.57(Decimal('91.399735'), Decimal('53.751351'))
4Anadyr (Carbon)201981.63143.01260.90304.36122.00106.8784.99130.00102.00118.0094.00199.001746.76(Decimal('177.738273'), Decimal('64.713433'))
5Anapa (Vitjazevo)201945.9253.1554.0054.7252.0067.45172.3172.5770.0063.0069.0082.10856.22(Decimal('37.341511'), Decimal('45.003748'))
8Arkhangelsk (Talagy)201985.61118.70131.39144.82137.95140.18128.56135.68124.75139.60210.27307.101804.61(Decimal('40.714892'), Decimal('64.596138'))
9Astrakhan (Narimanovo)201951.7561.0865.6071.8471.3863.95164.8679.4685.2187.2379.0699.16980.58(Decimal('47.999896'), Decimal('46.287344'))
YearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole year
count862.000000862.000000862.000000862.000000862.000000862.000000862.000000862.000000862.000000862.000000862.000000862.000000862.000000862.000000
mean2013.027842614.009327747.470093882.867088899.167599892.588608876.229327892.193979945.517935974.5620531029.9213691025.4664151073.36961710848.347332
std3.7573522033.2386872242.1073322810.6706042768.0775292776.2641042752.5868942814.6298642931.5935393017.7218433177.0016783225.8950083179.53460633560.997245
min2007.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
25%2010.00000039.18000053.33500058.97500063.49500061.47000062.39250059.97750065.79500064.82750068.04500065.82000079.150000780.210000
50%2013.000000117.370000157.265000186.725000195.110000171.350000157.325000154.060000166.100000176.570000193.770000193.000000246.1250002161.020000
75%2016.000000397.075000515.927500558.567500606.100000620.500000582.527500618.047500621.970000629.922500699.000000658.585000733.1750007442.140000
max2019.00000021304.80000022765.70000027617.90000028634.20000027026.40000030202.60000028158.60000028298.20000029620.10000030608.60000032723.90000032533.800000329817.200000

(5) 采用一种合理的方式将所有机场划分为东南西北四个分区,并给出2017年-2019 年货运总量最大的区域。(考察点:分组)

(6) 在统计学中常常用秩代表排名,现在规定某个机场某年某个月的秩为该机场该月在当年所有月份中货运量的排名(例如*** 机场19 年1 月运量在整个19 年12 个月中排名第一,则秩为1),那么判断某月运量情况的相对大小的秩方法为将所有机场在该月的秩排名相加,并将这个量定义为每一个月的秩综合指数,请根据上述定义计算2016 年12 个月的秩综合指数。(分组,合并,排序)

df_6 = df.copy()
df_6 = df_6[(df_6.Year==2016)]
df_6.head()
df_6.columns
Airport nameYearJanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecemberWhole yearAirport coordinates
791Abakan201634.145.4158.9772.7191.6678.4964.31127.2989.0774.9978.6694.01909.67(Decimal('91.399735'), Decimal('53.751351'))
792Aikhal20160.00.000.000.000.000.000.000.000.000.000.000.000.00(Decimal('111.543324'), Decimal('65.957161'))
793Loss20160.00.000.000.000.000.000.000.000.000.000.000.000.00(Decimal('125.398355'), Decimal('58.602489'))
794Amderma20160.00.000.000.000.000.000.000.000.000.000.000.000.00(Decimal('61.577429'), Decimal('69.759076'))
795Anadyr2016146.5232.97245.75429.50188.14126.5771.93117.67109.68108.43133.43108.432019.00(Decimal('177.738273'), Decimal('64.713433'))
Index(['Airport name', 'Year', 'January', 'February', 'March', 'April', 'May',
       'June', 'July', 'August', 'September', 'October', 'November',
       'December', 'Whole year', 'Airport coordinates'],
      dtype='object')
month = df_6.columns[2:-2]
for i in month:
    df_6[i+'_rank']=0    

未完,待续。。。。。。

参考内容

  1. 教程仓库连接
  2. 《利用Python进行数据分析》
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值