提问人:PineNuts0 提问时间:1/21/2017 最后编辑:EdChumPineNuts0 更新时间:3/31/2023 访问量:51300
Python:将 dataframe 转换为列表中包含字符串项的列表
Python: Convert dataframe into a list with string items inside list
问:
我目前有在 Excel 表格中读取的代码(下图):
# Read in zipcode input file
us_zips = pd.read_excel("Zipcode.xls")
us_zips
我使用以下代码将数据帧邮政编码转换为列表:
us_zips = list(us_zips.values.flatten())
当我打印us_zips时,它看起来像这样:
[10601, 60047, 50301, 10606]
...但我希望它看起来像这样 [“10601”、“60047”、“50301”、“10606”]
我该怎么做?*任何帮助将不胜感激
答:
28赞
EdChum
1/21/2017
#1
你可以使用 astype(str)
强制转换列 dtype,然后使用 转换为列表,这将返回一个使用 .values
的 numpy 数组,该数组有一个成员函数可以将其转换为列表:.values.tolist()
In [321]:
us_zips['zipcode'].astype(str).values.tolist()
Out[321]:
['10601', '60047', '50301', '10606']
10赞
Tom Hale
7/23/2019
#2
它对我有用,没有:.values()
list = df[col_name].astype(str).tolist()
0赞
Anna Christiane Kolandjian
3/31/2023
#3
创建列表后,只需执行以下操作即可将所有列表元素转换为字符串:
us_zips = [str(i) for i in us_zips]
完整代码:
df = pd.DataFrame()
df["x"] = [10601, 60047, 50301, 10606]
us_zips = list(df["x"].values.flatten())
print(us_zips)
us_zips = [str(i) for i in us_zips]
print(us_zips)
结果:
[10601, 60047, 50301, 10606]
['10601', '60047', '50301', '10606']
评论