簡體   English   中英

使用循環從列表創建數據框

[英]Creating a dataframe from a list using loops

我有一個包含字符串的列表,我計划通過使用循環創建一個數據幀 以下示例可能有助於更好地理解:

s=["first","second","third"]
a=s[0]
for i in range(1,len(s)):
    print(i)
    print(s[i])
    a=a+s[i]
#########
print(a)
'first;second;third'
## Creating dataframe####
d=pd.DataFrame()
d["c"]=1
d["text"]=a

這給了我一個空的數據幀。

產量預期為:

c       text

1       first;second;third

你可以使用帶有enumerate dict

s = ["first", "second", "third"]

df = pd.DataFrame.from_dict(dict(enumerate(s, 1)), orient='index')\
                 .reset_index()\
                 .rename(columns={'index': 'c', 0: 'text'})

#    c    text
# 0  1   first
# 1  2  second
# 2  3   third

避免“在循環中構建數據幀”。 您最好的選擇幾乎總是建立一個列表或字典,然后輸入pd.DataFrame

以上示例適用於任何長度s

你在找?

import pandas as pd
s=["first","second","third"]
a = "; ".join(s)

d=pd.DataFrame([{"text": a, "c": 1}])
print(d)

輸出:

   c                  text
0  1  first; second; third

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM