これを関数として書き直すことはできますか?パンダの機能を使ってテキストを分割する - 使用しない理由を適用する
df2['AB18t'] = df2['AB18'].apply(lambda x: x.split(":")[0])
df2['AB18n'] = df2['AB18'].apply(lambda x: x.split(":")[1]).astype(int)
df2['AB18n'] = np.where(df2['AB18t'] == "Ab", df2['AB18n'] ,-df2['AB18n'])
df2['AB18t'] = np.where(df2['AB18t'] == "Ab", 1 ,0)
試み
def getTextNum(x):
df2['AB18t'] = df2['AB18'].apply(lambda x: x.split(":")[0])
df2['AB18n'] = df2['AB18'].apply(lambda x: x.split(":")[1]).astype(int)
df2['AB18n'] = np.where(df2['AB18t'] == "Ab", df2['AB18n'] ,-df2['AB18n'])
df2['AB18t'] = np.where(df2['AB18t'] == "Ab", 1 ,0)
df2['AB18'].apply(getTextNum)
編集... M用 をForm1
0 Blw:001
1 Ab:008
2 Ab:007
3 Ab:006
4 Ab:005
5 Ab:004
6 Ab:003
7 Ab:002
8 Ab:001
9 Blw:001
10 Ab:001
11 Blw:002
12 Blw:001
13 Ab:001
14 Blw:002
Name: AB18, dtype: object
フォーム2 :::
0 B:Ab:048
1 B:Ab:047
2 B:Ab:046
3 B:Ab:045
4 B:Ab:044
5 B:Ab:043
6 B:Ab:042
7 B:Ab:041
8 B:Ab:040
9 B:Ab:039
10 B:Ab:038
11 B:Ab:037
12 B:Ab:036
13 B:Ab:035
14 B:Ab:034
Name: SLT, dtype: object
'apply'理由は何ですか?ベクターの解法はますます優れています。 – jezrael
ベクターを使用した書き換え方法---ラムダなし!私はtxtと数字 – Merlin