반응형

 

현상 : MY SQL 에서 Zero date value prohibited 라는 에러 발생

원인 :  0000-00-00 00:00:00 형태로 저장된 date 값을 java의 date객체로 변환하려할 때 에러 발생

해결방안: datasource 설정 시 jdbc url 뒤에 아래의 내용을 추가해 주면 됨 

추가내용 "?zeroDateTimeBehavior=convertToNull"

jdbc url 예시 : jdbc:mysql://companysystem-dev.cluster-abced9ddd.ap-northeast-2.rds.amazonaws.com:3306/dbname?zeroDateTimeBehavior=convertToNull

 

 

 

 

 

반응형
반응형

 

* 현상 : 

* 데이터 프레임 2개를 옆으로 추가하기 위해 concat 함수를 이용하려 하는데 아래와 같이 에러가 발생함.

---> 25 features_forecast = pd.concat([features, f_amounts], axis=1) 26 features_forecast 27 # index CTRT_ID 202201 202202 202203 202204 202205 index forecast_amount /Applications/anaconda3/lib/python3.8/site-packages/pandas/core/reshape/concat.py in concat(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy) 296 ) 297 --> 298 return op.get_result() 299 300 /Applications/anaconda3/lib/python3.8/site-packages/pandas/core/reshape/concat.py in get_result(self) 514 obj_labels = obj.axes[1 - ax] 515 if not new_labels.equals(obj_labels): --> 516 indexers[ax] = obj_labels.get_indexer(new_labels) 517 518 mgrs_indexers.append((obj._mgr, indexers)) /Applications/anaconda3/lib/python3.8/site-packages/pandas/core/indexes/base.py in get_indexer(self, target, method, limit, tolerance) 3169
...
-> 3171 raise InvalidIndexError( 3172 "Reindexing only valid with uniquely valued Index objects" 3173 ) InvalidIndexError: Reindexing only valid with uniquely valued Index objects
 
 
 
 

 

* 원인 :

 
에러의 마지막에 나와있는 문구처럼 index 객체의 값이 유니크하지 않아서 합치려고 할때 에러가 났음
 
 

 

* 해결방법 :

데이터 프레임을 concat 하기 전에 각 index를 리셋해주는 것이 필요. df.reset_index() 활용
 
 
df1 = df1.reset_index()
df2 = df2.reset_index()
df2 = pd.concat([df1, df2], axis=1)
 
 
 

 

참고 링크: 

https://www.codetd.com/en/article/12946561

 

pandas concat “InvalidIndexError: Reindexing only valid with uniquely valued Index objects“ - Code World

Using the concat method of pandas can quickly stack multiple DataFrames, which is very convenient, but when using concat , the prompt "pandas.errors.InvalidIndexError: Reindexing only valid with uniquely valued Index objects " will appear . The translation

www.codetd.com

 

 

반응형
반응형

Pandas Data Frame 출력시 일부가 짤려서(중간이 생략되서) 출력이 안되는 경우 해결 방법

pd.set_option() 함수를 이용해서 출력할 크기를 먼저 정해주면 됩니다.  아래와 같이 설정하면 되고, None 대신에 숫자를 넣어 설정해도 됩니다.

 

# python3.8
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(100,10))

print("옵션 설정 전: ", df)
pd.set_option("display.max_rows", None)
pd.set_option("display.max_columns", None)
pd.set_option("display.width", None)
pd.set_option("display.max_colwidth", None)

print("\n옵션 설정 후: ", df)

 

실행결과를 보면, 아래 이미지와 같이 옵션 설정 전에는 중간 내용이 생략되어서 보이지 않았는데 옵션을 None 으로 설정하고 나서는 모든 Row가 출력되는 것을 볼 수 있습니다.

반응형

+ Recent posts