我有一个 python pandas 数据框 (my_df
)。我想使用 iterrows()
提取行,然后将行转换为列表,最后将行转换列表附加到列表列表 (my_list
)。
import pandas as pd
# DATA
data = {'a': [8, 8, 8, 7],
'b': [7, 8, 8, 8],
'c': [7, 7, 8, 8],
'd': [7, 7, 7, 7]
}
my_df = pd.DataFrame(data, columns = ['a', 'b', 'c', 'd'])
print(my_df)
a b c d
0 8 7 7 7
1 8 8 7 7
2 8 8 8 7
3 7 8 8 7
问题是我从 iterrows()
中的 row
获取的格式,因为除了我想要的裸数据之外,它还包含其他信息。如何去除附加信息,以便获得所需的输出(请参阅下面的代码)?
谢谢!
# CODE
my_list = []
for index, row in my_df.iterrows():
my_list.append([row])
# OUTPUT
print(my_list)
[[a 8
b 7
c 7
d 7
Name: 0, dtype: int64], [a 8
b 8
c 7
d 7
Name: 1, dtype: int64], [a 8
b 8
c 8
d 7
Name: 2, dtype: int64], [a 7
b 8
c 8
d 7
Name: 3, dtype: int64]]
# DESIRE OUTPUT
[[8, 7, 7, 7], [8, 8, 7, 7], [8, 8, 8, 7], [7, 8, 8, 7]]
最佳答案
只需使用tolist
:
my_list = []
for index, row in my_df.iterrows():
my_list.append(row.tolist())
print(my_list)
输出:
[[8, 7, 7, 7], [8, 8, 7, 7], [8, 8, 8, 7], [7, 8, 8, 7]]
关于python - 格式化 python pandas dataframe iterrows() 的行输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69014545/