팬더를 사용하여이를 수행 할 수 있습니다. 짝수 인덱스 열과 홀수 인덱스 열을 따로 선택하여 빼기 수 있습니다.
@hiro 주인공, 나는 당신이 그 StringIO 마법을 할 수 있는지 몰랐습니다. 그것은 매운 것입니다. 파이썬 신호 열이 실제로 짝수 있고 배경 열은 홀수 인덱스 즉, 0 인덱싱하므로, 짝수/홀수 용어 어긋 수 있음은
import pandas as pd
import io
data = io.StringIO('''ROI121 ROI122 ROI124 ROI125 ROI126 ROI127
292.087 190.238 299.837 189.488 255.525 187.012
300.837 190.887 299.4 188.488 248.637 187.363
292.212 191.6 299.038 188.988 249.65 187.5
300.15 192.4 307.812 189.125 247.825 188.113''')
df = pd.read_csv(data, sep='\s+')
참고. 귀하의 질문을 적절하게 이해하면 귀하의 짝수/홀수 용어 사용에 위배됩니다. 단지 혼란을 피하기 위해 차이점을 지적하십시오.
# strip the columns into their appropriate signal or background groups
bg_df = df.iloc[:, [i for i in range(len(df.columns)) if i%2 == 1]]
signal_df = df.iloc[:, [i for i in range(len(df.columns)) if i%2 == 0]]
# subtract the values of the data frames and store the results in a new data frame
result_df = pd.DataFrame(signal_df.values - bg_df.values)
에는 신호와 배경 열의 차이가있는 열이 있습니다. 하지만이 열 이름의 이름을 바꿀 수도 있습니다. 출력
>>> result_df
0 1 2
0 101.849 110.349 68.513
1 109.950 110.912 61.274
2 100.612 110.050 62.150
3 107.750 118.687 59.712
이 데이터는 어떻게 표현됩니까? NumPy를 사용하고 있습니까? 팬더? 목록의 목록? – user2357112
이것은 파이썬 데이터 구조가 아닙니다. CSV입니까? – roganjosh
예,이 파일은 CSV 파일에서 파이썬으로 가져옵니다. – BioProg