当前,我正在尝试遍历数据帧,将字符串列表中的每个值与数据帧中特定列中的值进行比较。如果比较正确,则将同一行的不同列中的值附加到单独的列表中。
list_of_words = 'yes', 'no', 'maybe'
appendList = []
for word in list_of_words:
for row in dataframe1.iterrows():
if row['A'] == word:
appendList.append(row['B'])
return appendList
问题是我不确定如何将列表中的值与列值进行比较。总的来说,我对Pandas和python还是很陌生,但是到目前为止,便利的方法很棒。只是不确定如何工作才能返回我需要的东西。任何对文档的帮助或建议将不胜感激!
答案 0 :(得分:0)
尝试以下操作:
list_of_words = ['yes', 'no', 'maybe']
appendList = dataframe1.B[dataframe1.A.isin(list_of_words)]
答案 1 :(得分:0)
在您的示例中,每个import {combineReducers, createStore, compose} from "redux";
import authenticationReducer from "../reducers/authenticationReducer";
const store = createStore(authenticationReducer, compose(
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
));
export default store;
是2元素元组,它使用整数索引:row
是行号,row[0]
是pandas.Series。因此,使用表达式row[1]
是TypeError。
row['A']
您可以使用pandas.Series.tolist()将>>> row['A']
TypeError: tuple indices must be integers or slices, not str
转换为包含该行元素的普通python列表,然后进行比较:
pandas.Series
作为列表,for row in dataframe1.iterrows():
row_data = row[1].tolist()
if row_data[0] == word:
appendList.append(row_data[1])
必须使用整数索引。这会使您的代码可读性降低。