1. 程式人生 > >pandas.DataFrame()的基本操作

pandas.DataFrame()的基本操作

感覺上pandas的DataFrame就像numpy中的矩陣,不過它擁有列名和索引名,實際操作起來會更方便一些。

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

# 使用 瀏覽器 開啟 某網址
#import webbrowser
#link = 'https://www.tiobe.com/tiobe-index'
#webbrowser.open(link)

# 從 貼上板上 複製
df = pd.read_clipboard()
print(df)
'''
   Oct 2018  Oct 2017  Change Programming Language  Ratings Change.1
0         1         1     NaN                 Java  17.801%   +5.37%
1         2         2     NaN                    C  15.376%   +7.00%
2         3         3     NaN                  C++   7.593%   +2.59%
3         4         5  change               Python   7.156%   +3.35%
4         5         8  change    Visual Basic .NET   5.884%   +3.15%

'''
print(type(df)) # <class 'pandas.core.frame.DataFrame'> # 打印出所有的 列名 print(df.columns) ''' Index(['Oct 2018', 'Oct 2017', 'Change', 'Programming Language', 'Ratings', 'Change.1'], dtype='object') ''' # 打印出 其中 一列的 值 print(df.Ratings) ''' 0 17.801% 1 15.376% 2 7.593% 3 7.156% 4 5.884% Name: Ratings, dtype: object '''
# 可以使用訪問字典的方式 訪問 print(df['Ratings']) ''' 0 17.801% 1 15.376% 2 7.593% 3 7.156% 4 5.884% Name: Ratings, dtype: object ''' print(type(df['Ratings'])) # 每一列 其實都是一個 series : <class 'pandas.core.series.Series'> # 拿出其中的某一些列,組成一個新的dataframe df_new = DataFrame(df, columns=['Change'
, 'Ratings']) print(df_new) df_new = DataFrame(df, columns=['Change', 'Ratings', 'name']) print(df_new) ''' Change Ratings name 0 Java None NaN 1 C None NaN 2 C++ None NaN 3 Python None NaN 4 Visual 5.884% NaN 新增的新列,會預設一 NaN填充 ''' # 為 新列 賦值 df_new['name'] = range(0, 5) print(df_new) ''' Change Ratings name 0 Java None 0 1 C None 1 2 C++ None 2 3 Python None 3 4 Visual 5.884% 4 ''' # 更改某一列 的值 df_new['Change'] = np.arange(0, 5) print(df_new) ''' Change Ratings name 0 0 None 0 1 1 None 1 2 2 None 2 3 3 None 3 4 4 5.884% 4 ''' # 直接賦值一個 Series 也可以 df_new['Ratings'] = pd.Series(np.arange(0, 5)) print(df_new) # 單獨為 某列的某幾個值賦值 df_new['name'] = pd.Series([100, 300], index = [1, 2]) print(df_new) ''' Change Ratings name 0 0 0 NaN 1 1 1 100.0 2 2 2 300.0 3 3 3 NaN 4 4 4 NaN '''

series和dataframe的理解:
其實dataframe就是由多個series組成的,僅此而已。
但有時候,在用series組成列表生成dataframe的時候,需要使用T進行轉置。