Numpy、pandas读取基础

一、读取excel、csv、txt、mat并储存

pandas

import pandas as pd

# 读取Excel文件
excel_file = pd.read_excel('input.xlsx')
# 读取CSV文件
csv_file = pd.read_csv('input.csv')


# 保存为Excel文件
csv_file.to_excel('output.xlsx', index=False)
# 保存为CSV文件
excel_file.to_csv('output.csv', index=False)

----------------------TXT-------------------
# 读取文本文件
with open('input.txt', 'r') as file:
    lines = file.readlines()



# 使用with语句打开文件,这样不需要手动关闭文件
with open(filename, 'r') as file:
    # 逐行读取文件
    for line in file:
        # 使用strip()去除每行的首尾空白字符(包括换行符)
        # 使用split(',')将行分割成列表
        parts = line.strip().split(',')
        
        # 假设第一列是R,第二列是overlap,并将它们转换为适当的类型
        # 这里都将它们转换为浮点数
        R = float(parts[0])
        overlap = float(parts[1])
        
        # 将数据添加到列表中
        R_values.append(R)
        overlap_values.append(overlap)



# 转换为Pandas DataFrame
data = [line.strip().split() for line in lines]
df = pd.DataFrame(data)

# 保存为Excel文件
df.to_excel('output.xlsx', index=False)

----------------------mat--------------------
from scipy.io import loadmat
import pandas as pd

# 读取MAT文件
mat_data = loadmat('input.mat')

# 转换为Pandas DataFrame
df = pd.DataFrame(mat_data['data'])
# 保存为CSV文件
df.to_csv('output.csv', index=False)

import scipy.io as si

#读取mat文件mat和h5类似都是字典格式
data=si.loadmat('test.mat')
im=data['x']
label=data['y']
#保存mat文件
si.savemat('test.mat',{'x':im,'y':label})




numpy

#############读取CSV文件并保存为MAT文件
import numpy as np
from scipy.io import savemat

# 读取CSV文件
data = np.genfromtxt('input.csv', delimiter=',')  
# 请根据CSV文件的分隔符进行适当调整

# 保存为MAT文件
savemat('output.mat', {'data': data})

#############读取MAT文件并保存为CSV文件

import numpy as np
from scipy.io import loadmat

# 读取MAT文件
mat_data = loadmat('input.mat')

# 提取数据
data = mat_data['data']

# 保存为CSV文件
np.savetxt('output.csv', data, delimiter=',', fmt='%f')  
# 请根据需要调整数据格式(fmt参数)

#############读取TXT文件并保存为MAT文件
import numpy as np
from scipy.io import savemat

# 读取TXT文件
data = np.loadtxt('input.txt')

# 保存为MAT文件
savemat('output.mat', {'data': data})

numpy\pandas索引

import numpy as np


arr = np.array([1, 2, 3, 4, 5])
arr[0]
matrix[0, 1]

-------------------------------------------
import pandas as pd
# 创建一个Pandas Series
data = pd.Series([1, 2, 3, 4, 5], index=['A', 'B', 'C', 'D', 'E'])

# 通过标签索引访问Series元素
data['A'] # 通过标签 'A' 访问元素
df['A'][0])  # 访问第一行的 'A' 列元素

data.iloc[0, 1] # 访问第一行、第二列的元素

pandas\numpy互相转化

import pandas as pd
---------float转化-----------
df = df.astype('float32')

---------------pandas2numpy----------
# 创建一个示例的pandas DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# 将DataFrame转换为numpy数组
numpy_array = df.to_numpy()

# 或者可以使用values属性
numpy_array = df.values

----------------numpy2pandas---------
import pandas as pd
import numpy as np

# 创建一个示例的numpy数组
numpy_array = np.array([[1, 4], [2, 5], [3, 6]])

# 将numpy数组转换为pandas DataFrame
df = pd.DataFrame(data=numpy_array, columns=['A', 'B'])

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_43952858

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值