擅长:python、mysql、java
<p>使用内置的熊猫。应用功能。在</p>
<p>本例中的apply函数将接受一个函数作为输入。此函数将在列系列的每个成员上运行,并生成一个新列。下面是一个使用lambda函数和内联if else语句简洁地完成此操作的示例:</p>
<pre><code>import pandas as pd
import numpy as np
# Creating a sample list which contains the transportation list
transportation_list = ["Car","Bus","Ship",np.nan,"Car","Bus","Ship",np.nan]
# Make a pandas Dataframe with a single column called transportation
df = pd.DataFrame({"Transportation":transportation_list})
# Create additional columns by applying the lambda function to each row in
# the transportation column and set the value equal to zero or one depending
# on equivalence to test value.
df['car'] = df["Transportation"].apply(lambda transport_type:1 if "Car" == transport_type else 0)
df['bus'] = df["Transportation"].apply(lambda transport_type:1 if "Bus" == transport_type else 0)
df['ship'] = df["Transportation"].apply(lambda transport_type:1 if "Ship" == transport_type else 0)
</code></pre>
<p>得出以下结果:</p>
<p><a href="https://i.stack.imgur.com/8yrJC.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8yrJC.png" alt="Result of code"/></a></p>