python读取文件的几种方式以及数据的处理

纯数字型文件的读取:使用numpy模块

文件名numbers.csv数据形式如下
python读取文件的几种方式以及数据的处理
读取的代码:

import numpy as np
data = np.loadtxt(".numbers.csv", delimiter=",")
print(data)

结果如下:
python读取文件的几种方式以及数据的处理
但是这样并不好阅读,所以修改一下

import numpy as np
data = np.loadtxt(".numbers.csv", delimiter="," ,dtype="int")
print(data)

python读取文件的几种方式以及数据的处理
这里还可以将行和列转置,只要加一个参数即可

import numpy as np
data = np.loadtxt("./youtube_video_data/US_video_data_numbers.csv", delimiter=",", dtype="int", unpack=True)
print(data)

python读取文件的几种方式以及数据的处理

第二种读取文件方式:

通过Pandas模块读取

需求取到数据Genre所在列,每行此列中字段出现次数,一行中的Genre列有多个字段,并做出图形

数据格式如下
python读取文件的几种方式以及数据的处理
代码读取处理

# coding = utf-8
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
# 读数据
data = pd.read_csv("IMDB-Movie-Data.csv")
print(data["Genre"].head(3))
# 切割数据并转为list
temp_list = data["Genre"].str.split(",").tolist()
genre_list = list(set([i for j in temp_list for i in j]))
# 创建全0 数组
zeros_df = pd.DataFrame(np.zeros((data.shape[0], len(genre_list))), columns=genre_list)
# 将有分类的0 改为1
for i in range(data.shape[0]):
    zeros_df.loc[i, temp_list[i]] = 1
# 列计数
genre_count = zeros_df.sum(axis=0)
print("$"*50)
print(genre_count)
# 排序
genre_count = genre_count.sort_values()
# 画图
_x = genre_count.index
_y = genre_count.values
# 设置画布大小,像素大小,颜色,柱状图宽度
plt.figure(figsize=(20, 8), dpi=80)
plt.bar(range(len(_x)), _y, width=0.4, color="orange")
plt.xticks(range(len(_x)), _x)
plt.show()

结果如下:
python读取文件的几种方式以及数据的处理
python读取文件的几种方式以及数据的处理
Pandas读取数据不要求数据的类型,不像numpy只能读取数值类型。但两个各有处理数据的优势