python에 관하여 도와주세요..

bo12888의 이미지

안녕하세요...
내용이 조금 길더라도 꼭 좀 봐주세요. 몇일째 못하고 있어 답답해요ㅠㅠ..

일단 제 데이타가
1번 https://bpaste.net/show/04c6b1c5d566 총 2520 라인의 데이터
2번 https://bpaste.net/show/3171214e5b9d 총 359 라인의 데이터

에 있습니다.

그리고 2번의 데이타를 읽는 코드는
https://bpaste.net/show/ed9bcc571481
이것입니다.

제가 하고자 하는것은.. 1번데이타에 있는 첫번째 10줄 데이타의 평균값을 2번 데이터의 마지막 element 에 넣고 싶습니다..
그리고 다음 index 에는 그 다음 5줄의 평균 데이타 를 넣고.. 그 다음 10줄에 대한 평균값... 이런식으로
밑에 있는 식처럼요..

[(0.0, 0.0, 30.0, 42.0, 8.0, 8.0, 6.0, 7.0, 2.0, 270.0, 826.0, 475.0, 102.0, 109.0, 0.0, 0.0, 15.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.401716 (첫번째 10줄에 대한 평균값 열 1-10 ))), (0.0, 0.0, 20.0, 26.0, 6.0, 6.0, 3.0, 5.0, 2.0, 270.0, 826.0, 475.0, 102.0, 109.0, 0.0, 0.0, 10.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.26632 (그 다음 5줄에 대한 평균값) (열 11-15) ), (0.0, 0.0, 29.0, 41.0, 9.0, 9.0, 5.0, 6.0, 2.0, 270.0, 826.0, 475.0, 102.0, 109.0, 0.0, 0.0, 9.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 28.194 (그 다음 10줄에 대한 평균값) (열 16-25))

이런식으로 10줄 평균, 5줄 평균, 10줄 평균, ..... 이런식으로요

왜이렇게 하냐면.. 2번째 데이터가 5초마다 수집한것이고 1번데이타는 1초씩 이기 때문이에요.. 근데
1번 데이타가 정확히 1초씩이 아니라서.. filtering 을 좀 하려고자 합니다.

근데 앞에서 2번 데이터는 359개이고.. 1번 데이터는 2520 인데.. 10줄, 5줄, 10줄, 5줄로 하다보면
안맞을때가 오는데.. 마지막 남은것들은 다 평균값으로 내고 싶어요..

바쁘시겠지만.. 제발 도와주세요.. 감사합니다

shint의 이미지

하라는 말인거죠. ㅇ_ㅇ;;
Python은 모르니까. C로 대충 한번 만들어보죠.
헐. 잠깐 해봤는데. atof() 실수값이 정확하게 되지 않네요. ㄷㄷ;;

대충 한번 구현해보니 되긴 하네요.

#include <cstdlib>
#include <iostream>
 
using namespace std;
 
 
 
//A 에서 5번 10번의 평균값을 B 에 추가하기
 
int main(int argc, char *argv[])
{
    //
    FILE * fp;
    fp = fopen("a.txt", "rt");
    if(fp == NULL)
          return 0;
 
    //
    FILE * fp2;
    fp2 = fopen("b.txt", "wt");
    if(fp2 == NULL)
          return 0;
 
    //
    int cnt=0;
    int pos=0;
    char buf[100];
 
    double db = 0.0;
    double tmp = 0.0;
    while(1)
    {
        memset(buf, '\0', 100);
        char * p = fgets(buf, 100, fp);
        if( p == NULL )
        {
            break;
        }
 
        if(0 <= pos && pos <= 4)
        {
            tmp = atof(buf);
            db = db + tmp;
printf("%d[ %d] ", pos, cnt);
            cnt++;
            if(cnt == 5)
            {
                db = db / 5.0;
                printf("\n");
                printf("[0~4 까지의 평균값 : %5.12f]\n", db);
                printf("\n");
                fprintf(fp2, "%5.12f\n", db);
                db = 0.0;
                cnt = 0;
            }
        }
 
        if(5 <= pos && pos <= 14)
        {
            tmp = atof(buf);
            db = db + tmp;
printf("%d[ %d] ", pos, cnt);
            cnt++;
            if(cnt == 10)
            {
                db = db / 10.0;
                printf("\n");
                printf("[5~15 까지의 평균값 : %5.12f]\n", db);
                printf("\n");
                fprintf(fp2, "%5.12f\n", db);
                db = 0.0;
                cnt = 0;
            }
        }
        pos++;
 
    }
 
    fclose(fp);
    fclose(fp2);
 
 
    system("PAUSE");
    return EXIT_SUCCESS;
}

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.