#python #pandas #numpy
Вопрос:
Я получаю данные, как показано ниже
z = 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
Т = 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000
Я хочу выбрать данные » T «до определенного значения «z», скажем, 0,6. Я хочу иметь обобщенный метод, в котором каждый раз, когда я могу указать значение «z», и он может возвращать как z, так и T. Следующий шаг-я хочу выбрать данные между двумя значениями z, которые я указываю. Скажем, z=0,1 и z=0,7, и это должно дать мне от 100 до 700 вместе со значениями z. Может ли кто-нибудь предложить что-нибудь на Python? Заранее спасибо!
Комментарии:
1. Я думаю, что вы тянетесь
zip()
вместе сitertools.takewhile()
И.itertools.dropwhile()
2. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
Я хочу иметь обобщенный метод, в котором каждый раз, когда я могу указать значение «z», он может возвращать как z, так и T.
def getT(z_value):
return [z_value,T[z.index(z_value)]]
Пример использования:
>> getT(0.1)
[0.1, 100]
где первое значение-это z, а второе значение-соответствующее T.
Следующий шаг-я хочу выбрать данные между двумя значениями z, которые я указываю. Скажем, z=0,1 и z=0,7, и это должно дать мне от 100 до 700 вместе со значениями z.
def getTbounded(lowerz,upperz):
return [z[z.index(lowerz):z.index(upperz) 1],
T[z.index(lowerz):z.index(upperz) 1]]
Пример использования:
>> getTbounded(0.1,0.7)
[[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7], [100, 200, 300, 400, 500, 600, 700]]
где первый список-это значения z, а второй список-значения T.