简体   繁体   English

线性拉伸或压缩 Pandas 数据框列

[英]Stretch or compress pandas data frame columns linearly

I have a set of csv files I upload into a data frame.我有一组上传到数据框中的 csv 文件。 each file has a different length.每个文件都有不同的长度。

I want to equalize the length of all columns to the mean columns length.我想将所有列的长度与平均列长度相等。 the thing I don't want to just add values in the end but I want to stretch or compress (if its shorter or longer than the mean) the column linearly - meaning I want to insert (or remove) values inside the column itself.我不想在最后添加值但我想线性地拉伸或压缩(如果它比平均值短或长)列 - 这意味着我想在列本身内插入(或删除)值。

Any suggestions?有什么建议?

Thank you谢谢

Try the code below and check this answer to know how to extrapolate your values:试试下面的代码并检查这个答案以了解如何推断您的值:

import pandas as pd
import pathlib

data = []
for filename in pathlib.Path('.').glob('*.csv'):
    df = pd.read_csv(filename)
    data.append(df)

mean_len = sum(len(df) for df in data) // len(data)

for idx, df in enumerate(data):
   if len(df) > mean_len
       data[idx] = df[:mean_len]
   else:
       # do stuff here to extrapolate your data
       # check https://stackoverflow.com/a/35959909/15239951

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM