我有一个我正在阅读的.csv文件。我只读取其中的选择列,我需要进一步处理这些数据,然后再将其保存到Excel工作表中。我们的想法是对文件夹中的所有文件重复此过程,并使用与原始.csv相同的名称保存工作表。
截至目前,我能够从.csv中读取特定列,并将整个文件写入excel。在保存到excel之前,我还没弄清楚如何进一步处理这些列。进一步处理涉及
我的代码如下。需要一些帮助。
import pandas as pd
import os
from pathlib import Path
for f in os.listdir():
file_name, file_ext = os.path.splitext(f) #splitting into file name and extension
if file_ext == '.atf':
#open the data file and get data only from specific columns.
df = pd.read_csv(f, header = 9, index_col = 0, usecols = [0,55,59,63,67,71,75,79,83,87,91,95,99,103], encoding = "ISO-8859-1", sep = '\t', dtype = {'YFP.13':str,'YFP.14':str,'YFP.15':str,'YFP.16':str,'YFP.17':str,'YFP.18':str,'YFP.19':str,'YFP.20':str,'YFP.21':str,'YFP.22':str,'YFP.23':str,'YFP.24':str,'YFP.25':str,'Signals=':str})
df.to_excel(file_name+'.xlsx',sheet_name=file_name, engine = 'xlsxwriter') #writing into an excel file
答案 0 :(得分:0)
我们假设您的数据框有4列和100行的形状:
{
test: /\.s?css$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: {
modules: true,
importLoaders: 1,
localIdentName: '[name]__[local]___[hash:base64:5]'
}
},
{
loader: 'postcss-loader',
options: {
plugins: () => [autoprefixer]
}
},
'sass-loader'
]
})
}
分别为每列平均行18000-20000。
要对子集执行平均,可以根据索引上的不等式定义逻辑掩码,并在所选数据帧上应用平均功能。如果您想稍后使用它们,结果将保存在新的数据框中:
new ExtractTextPlugin({ filename: '[name].css' }),
计算(列值 - 平均值)/平均值
将这些值保存在具有不同列名的单独列中
对于最后两个步骤,下面的代码单独说明:
data = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
最后,您可以导出数据帧"数据"像你之前做的那样以excel格式。