dataframe Data

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
# 创建 DataFrame
import webbrowser

link = 'https://www.tiobe.com/tiobe-index'
webbrowser.open(link)

# 从网站上复制排行榜

True

# 创建一个dataFrame

# 从粘贴板中解析

df = pd.read_clipboard()



df

Jun 2019 Jun 2018 Change Programming Language Ratings Change.1
0 1 1 NaN Java 15.004% -0.36%
1 2 2 NaN C 13.300% -1.64%
2 3 4 change Python 8.530% +2.77%
3 4 3 change C++ 7.384% -0.95%
4 5 6 change Visual Basic .NET 4.624% +0.86%
5 6 5 change C# 4.483% +0.17%
6 7 8 change JavaScript 2.716% +0.22%
7 8 7 change PHP 2.567% -0.31%
8 9 9 NaN SQL 2.224% -0.12%
9 10 16 change Assembly language 1.479% +0.56%
10 11 15 change Swift 1.419% +0.27%
11 12 12 NaN Objective-C 1.391% +0.21%
12 13 11 change Ruby 1.388% +0.13%
13 14 60 change Groovy 1.300% +1.11%
14 15 18 change Go 1.257% +0.38%
15 16 14 change Perl 1.173% +0.03%
16 17 19 change Delphi/Object Pascal 1.129% +0.25%
17 18 17 change MATLAB 1.077% +0.18%
18 19 13 change Visual Basic 1.069% -0.08%
19 20 20 NaN PL/SQL 0.929% +0.08%
type(df)

pandas.core.frame.DataFrame

df.columns

Index(['Jun 2019', 'Jun 2018', 'Change', 'Programming Language', 'Ratings',
'Change.1'],
dtype='object')

df.Ratings

0 15.004%
1 13.300%
2 8.530%
3 7.384%
4 4.624%
5 4.483%
6 2.716%
7 2.567%
8 2.224%
9 1.479%
10 1.419%
11 1.391%
12 1.388%
13 1.300%
14 1.257%
15 1.173%
16 1.129%
17 1.077%
18 1.069%
19 0.929%
Name: Ratings, dtype: object

df.Change

0 NaN
1 NaN
2 change
3 change
4 change
5 change
6 change
7 change
8 NaN
9 change
10 change
11 NaN
12 change
13 change
14 change
15 change
16 change
17 change
18 change
19 NaN
Name: Change, dtype: object

# 操作 生成新的 dataFrame

df_new = DataFrame(df, columns = [ 'Programming Language','Jun 2018','Jun 2019','Ratings'])



df_new

Programming Language Jun 2018 Jun 2019 Ratings
0 Java 1 1 15.004%
1 C 2 2 13.300%
2 Python 4 3 8.530%
3 C++ 3 4 7.384%
4 Visual Basic .NET 6 5 4.624%
5 C# 5 6 4.483%
6 JavaScript 8 7 2.716%
7 PHP 7 8 2.567%
8 SQL 9 9 2.224%
9 Assembly language 16 10 1.479%
10 Swift 15 11 1.419%
11 Objective-C 12 12 1.391%
12 Ruby 11 13 1.388%
13 Groovy 60 14 1.300%
14 Go 18 15 1.257%
15 Perl 14 16 1.173%
16 Delphi/Object Pascal 19 17 1.129%
17 MATLAB 17 18 1.077%
18 Visual Basic 13 19 1.069%
19 PL/SQL 20 20 0.929%
df["Jun 2018"]

0 1
1 2
2 4
3 3
4 6
5 5
6 8
7 7
8 9
9 16
10 15
11 12
12 11
13 60
14 18
15 14
16 19
17 17
18 13
19 20
Name: Jun 2018, dtype: int64

type(df["Jun 2018"])

pandas.core.series.Series

df_new = DataFrame(df, columns = [ 'Programming Language','Jun 2018','Jun 2019','Rt'])
df_new

Programming Language Jun 2018 Jun 2019 Rt
0 Java 1 1 NaN
1 C 2 2 NaN
2 Python 4 3 NaN
3 C++ 3 4 NaN
4 Visual Basic .NET 6 5 NaN
5 C# 5 6 NaN
6 JavaScript 8 7 NaN
7 PHP 7 8 NaN
8 SQL 9 9 NaN
9 Assembly language 16 10 NaN
10 Swift 15 11 NaN
11 Objective-C 12 12 NaN
12 Ruby 11 13 NaN
13 Groovy 60 14 NaN
14 Go 18 15 NaN
15 Perl 14 16 NaN
16 Delphi/Object Pascal 19 17 NaN
17 MATLAB 17 18 NaN
18 Visual Basic 13 19 NaN
19 PL/SQL 20 20 NaN
df_new["Rt"] = range(0,20)
df_new

Programming Language Jun 2018 Jun 2019 Rt
0 Java 1 1 0
1 C 2 2 1
2 Python 4 3 2
3 C++ 3 4 3
4 Visual Basic .NET 6 5 4
5 C# 5 6 5
6 JavaScript 8 7 6
7 PHP 7 8 7
8 SQL 9 9 8
9 Assembly language 16 10 9
10 Swift 15 11 10
11 Objective-C 12 12 11
12 Ruby 11 13 12
13 Groovy 60 14 13
14 Go 18 15 14
15 Perl 14 16 15
16 Delphi/Object Pascal 19 17 16
17 MATLAB 17 18 17
18 Visual Basic 13 19 18
19 PL/SQL 20 20 19
df_new["RF"] = np.arange(0,20)
df_new

Programming Language Jun 2018 Jun 2019 Rt RF
0 Java 1 1 0 0
1 C 2 2 1 1
2 Python 4 3 2 2
3 C++ 3 4 3 3
4 Visual Basic .NET 6 5 4 4
5 C# 5 6 5 5
6 JavaScript 8 7 6 6
7 PHP 7 8 7 7
8 SQL 9 9 8 8
9 Assembly language 16 10 9 9
10 Swift 15 11 10 10
11 Objective-C 12 12 11 11
12 Ruby 11 13 12 12
13 Groovy 60 14 13 13
14 Go 18 15 14 14
15 Perl 14 16 15 15
16 Delphi/Object Pascal 19 17 16 16
17 MATLAB 17 18 17 17
18 Visual Basic 13 19 18 18
19 PL/SQL 20 20 19 19
df_new["RFd"] =  pd.Series(np.arange(0,20))
df_new

Programming Language Jun 2018 Jun 2019 Rt RF RFd
0 Java 1 1 0 0 0
1 C 2 2 1 1 1
2 Python 4 3 2 2 2
3 C++ 3 4 3 3 3
4 Visual Basic .NET 6 5 4 4 4
5 C# 5 6 5 5 5
6 JavaScript 8 7 6 6 6
7 PHP 7 8 7 7 7
8 SQL 9 9 8 8 8
9 Assembly language 16 10 9 9 9
10 Swift 15 11 10 10 10
11 Objective-C 12 12 11 11 11
12 Ruby 11 13 12 12 12
13 Groovy 60 14 13 13 13
14 Go 18 15 14 14 14
15 Perl 14 16 15 15 15
16 Delphi/Object Pascal 19 17 16 16 16
17 MATLAB 17 18 17 17 17
18 Visual Basic 13 19 18 18 18
19 PL/SQL 20 20 19 19 19
df_new["RF"] = pd.Series([100,200], index=[18,19])
df_new

Programming Language Jun 2018 Jun 2019 Rt RF RFd
0 Java 1 1 0 NaN 0
1 C 2 2 1 NaN 1
2 Python 4 3 2 NaN 2
3 C++ 3 4 3 NaN 3
4 Visual Basic .NET 6 5 4 NaN 4
5 C# 5 6 5 NaN 5
6 JavaScript 8 7 6 NaN 6
7 PHP 7 8 7 NaN 7
8 SQL 9 9 8 NaN 8
9 Assembly language 16 10 9 NaN 9
10 Swift 15 11 10 NaN 10
11 Objective-C 12 12 11 NaN 11
12 Ruby 11 13 12 NaN 12
13 Groovy 60 14 13 NaN 13
14 Go 18 15 14 NaN 14
15 Perl 14 16 15 NaN 15
16 Delphi/Object Pascal 19 17 16 NaN 16
17 MATLAB 17 18 17 NaN 17
18 Visual Basic 13 19 18 100.0 18
19 PL/SQL 20 20 19 200.0 19

posted @ 2019-06-11 22:05  aocn  阅读(96)  评论(0)    收藏  举报