[英]Efficiently adding a new column to a Pandas DataFrame with values processed from an existing column?
我的DataFrame
有一個字符串列foo
。 我需要創建一個新的列bar
,其值是通過一系列字符串處理操作從對應的foo
值派生的-在這種特殊情況下,一堆str.split()
和str.join()
。
最有效的方法是什么?
看一下熊貓數據幀的矢量化字符串方法。 http://pandas.pydata.org/pandas-docs/dev/text.html#text-string-methods
# You can call whatever vectorized string methods on the RHS
df['bar'] = df['foo']
例如。
df = pd.DataFrame(['a c', 'b d'], columns=['foo'])
df['bar'] = df['foo'].str.split(' ').str.join('-')
print(df)
產量
foo bar
0 a c a-c
1 b d b-d
熊貓可以為您做到這一點。 一個簡單的示例可能如下所示:
foo = ["this", "is an", "example!"]
df = pd.DataFrame({'foo':foo})
df['upper_bar'] = df.foo.str.upper()
df['lower_bar'] = df.foo.str.lower()
df['split_bar'] = df.foo.str.split('_')
print(df)
這會給你
foo upper_bar lower_bar split_bar
0 this THIS this [this]
1 is an IS AN is an [is an]
2 example! EXAMPLE! example! [example!]
請參閱上面來自Alex的鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.