如何在计算中使用 Pandas 数据框中的值?
How can I use values from a Pandas data frame in a calcul?
我有一个 Pandas 数据框。在 A
列中有像 [1, 5, 3]
这样的整数,在 B
列中有像 ["abcdef", "ghijklmno", "qwertyuiop"]
这样的字符串
我想创建一个 C
列,根据 culumns A
,列的第一个字符是 B
。在我的示例中,我希望 C
列类似于 ["a", "ghijk", "qwe" ]
我试过了:
data_frame['C'] = data_frame.B.str[:data_frame["A"]]
但是没用。
您可以设置使用 lambda 函数并设置轴 = 1 以使用列 A 设置 B 的字符串长度
df = pd.DataFrame({
'A' : [1, 5, 3,],
'B' : ["abcdef", "ghijklmno", "qwertyuiop"]
})
df['c'] = df.apply(lambda x : x['B'][:x['A']], axis = 1)
df
也许尝试遍历列:
df['C'] = [b[:a] for a, b in zip(df['A'], df['B'])]
我有一个 Pandas 数据框。在 A
列中有像 [1, 5, 3]
这样的整数,在 B
列中有像 ["abcdef", "ghijklmno", "qwertyuiop"]
我想创建一个 C
列,根据 culumns A
,列的第一个字符是 B
。在我的示例中,我希望 C
列类似于 ["a", "ghijk", "qwe" ]
我试过了:
data_frame['C'] = data_frame.B.str[:data_frame["A"]]
但是没用。
您可以设置使用 lambda 函数并设置轴 = 1 以使用列 A 设置 B 的字符串长度
df = pd.DataFrame({
'A' : [1, 5, 3,],
'B' : ["abcdef", "ghijklmno", "qwertyuiop"]
})
df['c'] = df.apply(lambda x : x['B'][:x['A']], axis = 1)
df
也许尝试遍历列:
df['C'] = [b[:a] for a, b in zip(df['A'], df['B'])]