>  Q&A  >  본문

Python에서 1:n:1 데이터 구조를 구현하는 방법은 무엇입니까?

우선, 많은 양의 데이터가 3개 단위로 나뉩니다.

으아악

예를 들어 현재 그러한 데이터가 100개 있습니다. 그것을 처리하는 방법?
첫 번째 단계
제 생각은 사전을 통해 1:n:1을 구성하는 것입니다.
그러나 지금 상황은 그렇습니다. 유형이 키인 경우 동일한 유형이 있으면 어떻게 해야 합니까? 사전 키가 고유하기 때문입니다.

두 번째 단계는 첫 번째 값을 통해 두 번째 값을 얻고자 하는 것입니다. 첫 번째 값을 모르고 첫 번째 값에서 두 번째 값을 어떻게 얻을 수 있나요?

감사합니다! ~


표현이 불명확할 수도 있으니 1:n:1의 예를 들어보겠습니다
예를 들어 이런 데이터가 2개가 있습니다

으아악

그러면 다음과 같이 작성하고 싶습니다.

으아악

이것이 내가 원하는 결과입니다.
그 말은. 1:n:1은 类型:第一个值:第二个值
가능한 해결책이 있는지 모르겠습니다

를 의미합니다.
怪我咯怪我咯2712일 전720

모든 응답(3)나는 대답할 것이다

  • 为情所困

    为情所困2017-05-18 10:57:26

    첫 번째 값: 동일한 유형에서 첫 번째 값이 고유한 경우 다음 구조를 시도해 볼 수 있습니다.

    으아아아

    위 내용은 기본값을 생성하는 것이 字典的字典mapping, 然后用类型第一个值分别作为索引的key, 我个人觉得, 在类型第一个值的共同约束下, 找到的第二个值고유해야 한다는 의미입니다. 고유하지 않은 경우 덮어쓸지 아니면 목록 형태로 존재할지 고려해야 합니다

    .

    두 번째:
    위에서 언급한 데이터 구조를 사용하면 첫 번째 값을 알지 못한 채 매핑[value_type]만 순회한 다음 해당 값이 원하는 것인지 확인할 수 있습니다

    회신하다
    0
  • 迷茫

    迷茫2017-05-18 10:57:26

    1:n:1이 무슨 뜻인가요? 매핑 관계? 그러나 이것은 중요하지 않습니다. 각 데이터 조각을 3-튜플(유형, val1, val2)로 작성한 다음 각 데이터 조각을 배열 [];
    아래에 저장하는 간단하고 조잡한 방법이 있습니다. 구성 배열을 만들 때 dict 3개를 만들어서 typeDict = {type: [arrIdx]}, val1Dict={val1:[arrIdx]}, val2Dict={val2:[arrIdx]}
    type을 사용하여 데이터를 찾고 싶을 때, 유형에 해당하는 모든 레코드 위치 찾기에서 typeDict를 사용하세요.
    마찬가지로 val1과 val2도 동일합니다.
    typeA, val1=n을 찾으려면 typeDict, val1Dict에서 찾은 결과 집합만 교차하면 됩니다.

    회신하다
    0
  • 某草草

    某草草2017-05-18 10:57:26

    데이터의 양이 많은 경우에는 mysql이나 pandas 등 데이터 처리에 특화된 데이터베이스를 이용하는 것이 더 효율적일 것 같습니다. Pandas에는 전용 to_dict 함수도 있습니다.

    회신하다
    0
  • 취소회신하다