분석 할 열 목록이 있습니다. data [1] [2]와 같은 특정 인덱스를 다시 참조하는 대신 열에 이름을 지정하고 다른 작업에 대한 열의 행을 반복하고 싶습니다. 어떻게 컬럼에 이름을 부여한 다음 이것을 다시 참조 할 올바른 형식입니까?열 이름을 지정한 다음 색인 대신 이름이있는 항목을 호출합니다.
for x in range (len(data)):
if [column_name][x] ....
분석 할 열 목록이 있습니다. data [1] [2]와 같은 특정 인덱스를 다시 참조하는 대신 열에 이름을 지정하고 다른 작업에 대한 열의 행을 반복하고 싶습니다. 어떻게 컬럼에 이름을 부여한 다음 이것을 다시 참조 할 올바른 형식입니까?열 이름을 지정한 다음 색인 대신 이름이있는 항목을 호출합니다.
for x in range (len(data)):
if [column_name][x] ....
필자가 원하는 것은 변수에 열을 저장 한 다음 항상 아래 첨자를 사용하는 대신 참조하는 것입니다. 충분히 간단한 : 그에 대한
varName=data[columnName]
그 칼럼에 액세스
이varName[rowName]
트릭
귀하의 데이터에 액세스하는 대신 정수의 이름을 사용하는 가장 쉬운 방법은 어떻게해야는 사전
data = {'pig':[1, 2], 'cow':[3, 4], 'dog':[5,6]}
if data in range(2):
if data['dog'][1]==4:...
을 사용하는 것입니다
다른 방법이 있습니다. 예를 들어 클래스를 만들고 __getitem__
을 재정의 할 수 있습니다. 또는 dog=2
등과 같이 2 차원 배열의 열 번호에 변수 이름을 지정할 수 있습니다. 그것은 모두 당신이하고 싶은 일에 달려 있습니다.
다양한 방법이 있습니다. 당신은 당신의 코드를 작성할 때 이름과 열 사이의 관계를 알고있는 경우에, 지금까지 가장 쉬운 방법은 이것이다 :
for row in data:
(foo, bar, baz, bat) = row
... 당신이 row
(및 data
)를 업데이트 할 필요가 없습니다 가정.
행을 업데이트해야하는 경우 값을 변수에 복사해도 작동하지 않습니다. 색인을 통해 항목을 조작해야합니다.
(foo, bar, baz, bat) = range(4)
for row in data:
row[foo] = row[bar]
당신은 자신의 이름이 포함 된 문자열에 의해 열을 참조 할 경우, 그 키를 사전에 행을 복사해야이 열 이름 :이 경우에 aviraldg의 접근 방식은 간단합니다 . 그런 다음 사전 조작을 마쳤 으면 원래 목록을 업데이트하거나 새로운 코드로 교체해야합니다 (이 코드의 기능).
columns = ("foo", "bar", "baz", "bat")
for i in range(len(data)):
d = dict(zip(columns, data[i]))
d["foo"] = d["bar"]
data[i] = [d[col] for col in columns]
Python에서는이 코드를 사용할 수 있습니까? 자세한 정보가 필요합니다 ... –
예, 죄송합니다, 파이썬입니다. 제안 된 솔루션을 사용하려고하지만 운이 좋지는 않습니다. 문자열로 색인을 생성 할 수 없다는 오류가 발생합니다. 열 이름을 지정하고 성공적으로 참조하는 데 문제가 있습니다. 데이터는 txt 문서에서 가져온 것입니다. 내 두 번째 열은 ID이고 세 번째 열은 가중치이고 네 번째 열은 높이입니다. 어떻게 이름을 지어 되돌려 줍니까? –