【python数据处理】pandas基础操作

基础操作

  • 1.创建表

dataframe 类似于csv 与SQL表 

方法1

import codecademylib
import pandas as pd

df1 = pd.DataFrame({
  'Product ID': [1, 2, 3, 4],
  'Product Name': ['t-shirt', 't-shirt', 'skirt', 'skirt'],
  'Color': ['blue', 'green', 'red', 'black']
})

print(df1)

 方法2

import codecademylib
import pandas as pd

df2 = pd.DataFrame([
  [1, 'San Diego', 100],
  [2, 'Los Angeles', 120],
  # Fill in rows 3 and 4
  [3,'San Francisco'	,	90],
  [4	,'Sacramento',	115]
],
  columns=[
    'Store ID','Location','Number of Employees'
  ])

print(df2)
  • 2.导入csv文件

import pandas as pd

orders = pd.read_csv('orders.csv')

print(orders)
  • 3.查看

 df.head(n)查看前n个数据

df.info()查看dataframe数据

import codecademylib
import pandas as pd

df = pd.read_csv('imdb.csv')
df.head(10)
print(df.info())
  •  4选择

 1.选择某一列的两种方式

x=dataframe.column_name  返回某一列的数据 注意:列名中间有空格无法这么选择

x=dataframe['column_name']

clinic_north = df.clinic_north
clinic_north = df['clinic_north']

2.选择多列

x=dataframe[['column_name1','column_name2']] 返回两列数据

clinic_north_south = df[['clinic_north','clinic_south']]

3. 选择行

x=dataframe.iloc[n] 返回第n行的数据

 

4.选择多行

x=df.iloc[n:m]  返回第n至m-1行数据 从0开始算

x=df[n:m] 效果一样

df2 = df.loc[[1, 3, 5]]

df3=df2.reset_index(inplace=True,drop=True)
print(df2)

这时候选出来的是带index的

如果使用 .reset_index(drop,inplace)可以重置index 使用drop 消除 ,inplace 可以选择是返回一个新dataframe还是在原dataframe上修改

5.选择逻辑运算

x=df[df.column 运算符 条件]]

例子:

返回所有月份为1月的行
january = df[df.month == 'January']

返回3月和4月的行
march_april=df[(df.month=='March')|(df.month=='April')]

返回一二三月的行
january_february_march=df[df.month.isin([ 'January','February', 'March'])]
print(january_february_march)

 

  • 5.添加

 添加整列

1.df['column_name']=[x,x,x,x,x] 分别添加

2.df['column_name'] = x  整列都相同

3.df['column_name']=df['exist_column_name']操作

df['Sold in Bulk?']=['Yes','Yes','No','No']
df['In Stock?'] = True

df['Revenue'] = df.['Price'] - df['Cost to Manufacture']

 

 

  • 6.更改列名

有时候列名取得不好中间有空格无法使用df.column_name 只能使用df['column_name']

所以要更改列名

1.df.columns 方法  

df = pd.DataFrame({
    'First Name': ['John', 'Jane', 'Sue', 'Fred'],
    'Age': [23, 29, 21, 18]
})
df.columns = ['name', 'age']

2.df.rename 方法  rename中间转换是:

df = pd.DataFrame({
    'First Name': ['John', 'Jane', 'Sue', 'Fred'],
    'Age': [23, 29, 21, 18]
})
df.rename(columns={
    'First Name':'name',
    'Age': 'age'},
    inplace=True)

猜你喜欢

转载自blog.csdn.net/yt627306293/article/details/84256355