声明:本文作为自己的学习笔记,欢迎大家于本人学习交流,转载请注明出处
如果本文有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理并删除文章
Email:louhergetup@163.com
目录
实验环境
- 操作系统:win7 64
- 软件环境:Anaconda3 (64-bit)
- 编程语言:Python 3.7
导入 python 库
import pandas as pd
import numpy as np
csv 文件处理
提取 csv 数据至 python 字典
df = pd.read_csv('XXX.csv',encoding = 'latin-1') #使用pandas读取csv,注意文件路径
df.columns=["columns1","columns2","columns3","columns4","columns5","columns6"] #columns1-6 分别为csv列名
print (df)
将 python 字典转为 csv 文件
df.to_csv('XXX.csv',encoding='utf-8')
python 字典操作
为 df 添加一个新的空列
df1['columns7'] = ''
df1
计数 columns4 中相同的 value,降序排序
df1 = df['columns4'].value_counts()
df1
根据计数结果进行赋值
for i in range(len(df1)):
if df1['count'][i] >= 30: #这里以count=30为分界点
df1['XXX'][i] = 1
else:
df1['XXX'][i] = 0
根据 columns4 列中相同 value,把 columns5 中 value 求和
df_sum = df['columns5'].groupby(df['columns4']).sum()
print(df_sum)
两个字典对照赋值
#两个字典,如果 columns4 的 value 相同,根据 df2 的 columns6 的 value,对 df1 的 columns6 进行赋值
for i in range(len(df1)):
for j in range(len(df2)):
if df1['columns4'][i] == df2['columns4'][j]:
df1['columns5'][i] = df2['columns5'][j]
把 columns5 中 value 求平均值
df1['columns6'] = df1['columns5'] /df1['count']
print(df1)
提取 python 字典中部分数据转化为数组
X = df[["columns1","columns2"]] #提取df中的两列至X
X = np.array(X) #使用nupmy将提取的两列转化为数组
print(X)
y = df["columns3"] #提取df中的一列至y
y = np.array(y) #使用nupmy将其转化为数组
print(y)
随机种子乱序
np.random.seed(100) #随机种子数不变,每次乱序后顺序相同
np.random.shuffle(X)
np.random.seed(100)
np.random.shuffle(y)
print(X)
print (y)
python 数组操作
将数组 X, y 分割为两部分
X_train, X_test = X[:10000], X[10000:] #以10000为分界点,分割为两个数组
y_train, y_test = y[:10000], y[10000:]
print(X_train)
print(X_test)
print(y_train)
print(y_test)