Python 将字符串追加到dataframe中不会产生任何结果
我有一个使用熊猫和事务数据的数据框,它看起来像这样Python 将字符串追加到dataframe中不会产生任何结果,python,pandas,list,dataframe,error-handling,Python,Pandas,List,Dataframe,Error Handling,我有一个使用熊猫和事务数据的数据框,它看起来像这样 "Transactions", "State in transaction" "Company name, Florida", "N/A" "Company name, California", "N/A" "Company name, Mississipi&
"Transactions", "State in transaction"
"Company name, Florida", "N/A"
"Company name, California", "N/A"
"Company name, Mississipi", "N/A"
"Company name", "N/A"
. .
. .
. .
等等。。。我还与美国和加拿大的州建立了数据框架。它看起来像这样:
"Alberta"
"British Columbia"
"Manitoba"
.
.
.
如果状态在事务中,我如何插入它,那么它应该给出如下内容(如果在事务中找不到状态,则保留N/A):
目前我已尝试:
for i, transaction in enumerate(df["Transactions"]):
for state in df_states:
if state in transaction
df["State in transaction"].append(state)
break
感谢您的帮助。
谢谢您可以使用
str.extract()
。另外,我假设您的列名在我下面的可复制代码中有引号。列名/值中的引号使它有点混乱。您的数据中是否有实际的引号
df = pd.DataFrame({'Transactions': {0: 'Company name, Florida',
1: 'Company name, California',
2: 'Company name, Mississipi',
3: 'Company name'}})
df['State in transaction'] = df['Transactions'].str.extract(', (\w+)').fillna('N/A')
df
Out[1]:
Transactions State in transaction
0 Company name, Florida Florida
1 Company name, California California
2 Company name, Mississipi Mississipi
3 Company name N/A
您可以使用
str.extract()
。另外,我假设您的列名在我下面的可复制代码中有引号。列名/值中的引号使它有点混乱。您的数据中是否有实际的引号
df = pd.DataFrame({'Transactions': {0: 'Company name, Florida',
1: 'Company name, California',
2: 'Company name, Mississipi',
3: 'Company name'}})
df['State in transaction'] = df['Transactions'].str.extract(', (\w+)').fillna('N/A')
df
Out[1]:
Transactions State in transaction
0 Company name, Florida Florida
1 Company name, California California
2 Company name, Mississipi Mississipi
3 Company name N/A
@艾米尔克:好的,我更新了没有引号。对不起,误读了,不,我在数据中没有引号。我不知道如何复制这个。我有大约1300个事务,我在想,对于每个事务,在状态数据框中找到一个匹配项。有数千个不同的公司名称-这仍然有效吗?@emilk尝试更新的排序-抱歉,如果我不准确,但是状态并不总是位于同一个位置,并且不是逗号分隔的(这只是一个例子).它可能看起来像:亚马逊(Amaze)#街名#州40359232FK@emilk好的,我更新了没有引号。对不起,误读,不,我在数据中没有引号。我不知道如何复制它。我有大约1300个事务,我在想,对于每个事务,在状态数据框中找到一个匹配项。有数千个di不同的公司名称-这仍然有效吗?@emilk尝试更新的工作类型-如果我不准确的话,很抱歉,但是州并不总是位于同一个地方,也不是逗号分隔的(只是一个例子)。它可能看起来像:Amaz#on/Street name#state 40359232FK