[SQL] 팬더 쿼리 기능은 열 이름에 공백이 작동하지 않습니다
SQL팬더 쿼리 기능은 열 이름에 공백이 작동하지 않습니다
나는 열 이름에 공백이있는 dataframe 있습니다. 나는 결과를 얻을 쿼리 방법을 사용하려합니다. 그것은 'C'열하지만 대한 오류가 'A B'로 잘 작동한다
import pandas as pd
a = pd.DataFrame(columns=["a b", "c"])
a["a b"] = [1,2,3,4]
a["c"] = [5,6,7,8]
a.query('a b==5')
이를 위해이 오류가 무엇입니까 :
a b ==5
^
SyntaxError: invalid syntax
나는 등 '_'와 같은 다른 문자로 공간을 채우기 위해 싶지 않아
[A, B] : 괄호 안에 예 변수 이름을 넣어 pandasql를 사용하여 하나가 해킹
해결법
-
==============================
1.팬더 0.25에서 이후 당신은 당신이 할 수 있도록 역 따옴표로 열 이름을 탈출 할 수있을 것입니다
팬더 0.25에서 이후 당신은 당신이 할 수 있도록 역 따옴표로 열 이름을 탈출 할 수있을 것입니다
a.query('`a b` == 5')
-
==============================
2.로 여기에 설명 :
로 여기에 설명 :
당신이 사용할 수 있도록 :
a.query('`a b`==5')
당신이 당신의 열 이름에 공백이있는 경우 pd.DataFrame.query을 사용할 수 없습니다. 당신이 열을 A, B와 B라는 더라면 무슨 일이 일어날 지 생각해; 필요한 무엇인지에 모호함이있을 것입니다.
대신 pd.DataFrame.loc을 사용할 수 있습니다 :
df = df.loc[df['a b'] == 5]
만 행을 필터링하고 있기 때문에, 당신은 생략 .loc 접근 모두 할 수 있습니다
df = df[df['a b'] == 5]
-
==============================
3.그것은 아직 가능하지 않다. 확인 GitHub의 이슈 # 6508 :
그것은 아직 가능하지 않다. 확인 GitHub의 이슈 # 6508 :
열 이름은 유효한 파이썬 식별자해야하므로 쿼리 필요 문자열이 유효한 파이썬 표현식이어야하는 이유입니다.
솔루션 부울 색인입니다 :
df = df[df['a b'] == 5]
-
==============================
4.나는 쿼리 방법은 빈 공간 열 이름을 사용하지 않는 것을 두려워. 어떤 경우에는이 방법으로 dataframe을 조회 할 수 있습니다 :
나는 쿼리 방법은 빈 공간 열 이름을 사용하지 않는 것을 두려워. 어떤 경우에는이 방법으로 dataframe을 조회 할 수 있습니다 :
import pandas as pd a = pd.DataFrame({'a b':[1,2,3,4], 'c':[5,6,7,8]}) a[a['a b']==1]
-
==============================
5.대신 pandas.query 기능을 사용하는 나는 값을 조회하는이 경우 조건을 만들 것이며, 조건이 true입니다. 예를 들면 :
대신 pandas.query 기능을 사용하는 나는 값을 조회하는이 경우 조건을 만들 것이며, 조건이 true입니다. 예를 들면 :
import pandas as pd a = pd.DataFrame(columns=["a b", "c"]) a["a b"] = [1,2,3,5] a["c"] = [5,6,7,8] #a.query('a b==5') Remove the query because it cannot lookup columns with spaces in the name. condition = a['a b'] == 5 print(a['a b'][condition])
output: 3 5
우리는 볼 그 인덱스 3 True로 당신의 조건들을 평가에서 (당신이 특정 지수와 부울 값이 아닌 시리즈를 원하는 경우).
from https://stackoverflow.com/questions/50697536/pandas-query-function-not-working-with-spaces-in-column-names by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL의 LIMIT 문은 얼마나 보편적인가? (0) | 2020.06.13 |
---|---|
[SQL] PDO와 함께 LIKE에 대한 명명 된 매개 변수를 사용하여 (0) | 2020.06.13 |
[SQL] FROM INSERT INTO [임시 테이블]에 MySQL을 어떻게 [저장 프로 시저] (0) | 2020.06.13 |
[SQL] 하이버 네이트 기준의 합 ()을 사용하여 (0) | 2020.06.13 |
[SQL] MySQL은 : 테이블의 기본 키를 동적으로 결정 (0) | 2020.06.12 |