1
나는 같은 dataframe 있습니다문자열은
인용문을
내가 뭘하고 싶은 2/3의의를 추출하는 것입니다
df
Out[458]:
strings
0 lui sau chun
1 d1420152
2 98764879333
3 minglee
4 g1927384
5 hannah
strings 열의 각 값에 대한 문자열입니다. 보시다시피, 각 문자열의 길이가 다르므로 슬라이스를 해제 할 2/3 위치도 달라집니다. 내 목표 출력은 다음과 같습니다
인용문
df
Out[459]:
strings substring
0 lui sau chun liu sau
1 d1420152 d1420
2 98764879333 98764879
3 minglee ming
4 g1927384 g1927
5 annah hann
을 해봤 :
x=(df['strings'].str.len()*2/3).apply(np.floor).astype(int)
df['strings'].str.slice(0,x)
을하지만 그냥 나에게 다음과 같은 출력했다 :
인용문을
Out[451]:
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
Name: strings, dtype: float64
아무도 도와 줄 수 있습니까? 와 다음 apply
을
먼저 새 열을 만들고 :
print (df['strings'].apply(lambda x: x[:int(len(x)*2/3)]))
0 lui sau
1 d1420
2 9876487
3 ming
4 g1927
5 hann
Name: strings, dtype: object
또 다른 해결책은 :
는
내 대답이 도움이 되었다면 [대답] (http://meta.stackexchange.com/a/5235/295067) 잊지 마세요 - 답장 옆에있는 체크 표시 ('✓')를 클릭하십시오. 회색으로 바뀌어 채워 넣었습니다. 고마워요. – jezrael