我是Pandas的新手。
我的df是一个包含会计信息的CSV文件,我有一些变量,其中包含一个帐户列表,我想先将它们添加到另一个变量中,然后再使用df.loc
df = pd.read_csv('2021BALANCE.csv')
menor = (df['account_1'] < 10000) # just filtering
#LIST OF ACCOUNTS inside variables
assets = ['account_1', 'account_2', 'account_3']
liabilities = ['account_6' , 'account_4']
profits = ['account_20' , 'account_21']
#THIS VARIABLE already have accounts, and I want to add the accounts above to it.
all_accounts = ['account_9345', 'account_234623' ,assets, liabilities, profits]
df.loc[menor, all_accounts]
TypeError: unhashable type: 'list'
有很多变量都包含帐户,为了简化,我在这里只放了3个,我希望所有这些变量都包含在一个变量all_accounts中,这样我就可以使用df.loc[menor,all_accounts]。
感谢您发送编修。
1条答案
按热度按时间erhoui1w1#
如果你试图将列表“合并”成一个单一的平面列表,你需要使用spread操作符(https://how.wtf/spread-operator-in-python.html)来“解包”你试图插入到新列表中的列表,否则你将嵌套列表,导致.loc抛出错误。
请尝试在“all_accounts”的声明中使用以下语句: