Повторяющиеся строки x количество раз на основе linspace: np.linspace (RFMIn, RFMax, 10) - PullRequest
0 голосов
/ 27 мая 2020

Я выяснил серию элементов между RFMin и RFMax с использованием linspace, но теперь мне нужна нотация в соответствии с RFRange = np.linspace (RFMIn, RFMax, 10) . Как мне это сделать?

Нотация, RFMin и RFMax

A100K 1000 3333
B220K 5125,5 5888

import pandas as pd
Import numpy as np

df = csv.read_csv(filePath)
Notation = df['Notation']
RFRange = np.linspace(RFMIn, RFMax, 10)
RFRange = RFRange.transpose().flatten()
RFarray=[]
for i in RFRange:
       RFarray.append(i)
dict = {‘RFRange’: RFarray}
data = pd.DataFrame(dict)
data.to_csv(‘Output.csv’, header=True, sep=’\t’)

** Я хочу что-то вроде этого:

A100K 1000
A100K 1259.22
A100K 1518.44
A100K 1777.67
……..
…….
A100K 3333
B220K 5125.5
B220K 5210.22
B220K 5294.94
……..
…….
B220K 5888

1 Ответ

0 голосов
/ 28 мая 2020

Простое решение - расширить Notation вместе с RFrange.

попробуйте код

#! /usr/bin/env python3

import pandas as pd
import numpy as np

df = pd.read_csv(filePath)
RFRange = np.zeros((df.shape[0],10))
for ndx, row in df.iterrows():
    RFRange[ndx] = np.linspace(row['RFMin'], row['RFMax'], 10)
RFarray=[]
Notation=[]
for ir, r1 in enumerate(RFRange):
    for i in r1:
       RFarray.append(i)
       Notation.append(df.loc[ir, 'Notation'])
dict = {'Notation': Notation, 'RFRange': RFarray}
data = pd.DataFrame(dict)
data.to_csv('Output.csv', header=True, sep='\t',
             index=False, float_format='%.2f')
...