0
나는 과일의 팬더 dataFrame ::대소 문자 구분 팬더 시리즈 일치하고 깨끗한 팬더 시리즈 로직
df = pd.read_csv(newfile, header=None)
df
0 1 2 3 4 5 6 7
0 Apple Bananas Fig Elderberry Cherry Honeydew NaN NaN
1 Bananas Cherry Dragon Elderberry NaN NaN NaN NaN
2 Cherry Grape NaN NaN NaN NaN NaN NaN
3 Dragon NaN Apple Bananas Cherry Elderberry NaN NaN
4 Elderberry Apple Bananas Fig Grape NaN NaN NaN
5 Fig Cherry Honeydew Apple NaN NaN NaN NaN
6 Grape NaN NaN NaN NaN NaN NaN NaN
7 Honeydew Grape Fig Elderberry Dragon Cherry Bananas Apple
을하고 난 "과일 페어링", 예를 찾기 위해 노력하고있어 첫 번째 행에서 Apple과 Fig는 쌍을, 6 행은 Fig와 Apple입니다. 마찬가지로 Apple-Elderberry와 Elderberry-Apple은 그렇지만 Apple과 Bananas는 없습니다 (바나나에서 시작하는 사과는 없습니다).
나는 다음과 같은 코드 작업있어, 그이 ::
fruits = df[0]
stock = df.drop(0, axis=1)
for i in range(len(fruits)):
string1 = str(fruits[i])
full_line = (stock.iloc[i])
line = np.array(full_line.dropna(axis=0))
if len(line) > 0 :
for j in range(len(stock)):
iind = (fruits[fruits == line[j]].index[0])
this_line = stock.iloc[iind]
logic_out = this_line.str.match(string1)
print(logic_out)
하지만 않습니다! (1) Pandas Series가 대소 문자를 구분하여 과일 == line [j]에서 깨지며 (2) boolean out은 True, Falses 및 NaN이 혼합 된 값입니다. 이상적으로, 나는 Trues를 계산하고 싶다. 모든 도움 v. 많이 감사!
안녕 @piRSquared 방송 NumPy와있어,이 훌륭하지만 KeyError를 함께 첫 번째 줄에 충돌한다 : '0'메시지. ... 위의 코드를 편집하여 df에서 읽는 방법과 .cv 파일을 읽는 방법을 보여줍니다. – npross
사과, 바나나,도, 엘더베리, 체리, 단 ,, 바나나, 체리, 용, 엘더베리 ,,,, 체리, 포도 ,,,,,, 용 ,, ,, 애플 바나나, 체리, 엘더베리, 엘더 베리, 애플, 바나나, 무화과, 포도, 무화과, 체리, 한니수, 사과 ,,,, 포도, ,,,,,, 단 물, 포도, 무화과, Elderberry, 드래곤, 체리, 바나나, 애플 – npross
첫 번째 열의 실제 이름은 무엇입니까? 나는 그것이 여러분이 제공 한 데이터 프레임을 복사하고 지나갈 때 파싱되는 것이기 때문에''0 ''이라고 가정합니다. 잠시 후에 내 업데이트를 시도하십시오. – piRSquared