抱歉,我是新来的,我的问题是:
我从.bed文件中创建了24个表,然后用所有这些表创建了一个列表,并且我只选择了每个表中的特定行,结果是另一个列表,但是当我尝试仅在数据帧中进行转换时将每个表都计为字符串。每24个表格的列数相同
我尝试过使用DataFrame和Series的Pandas
mylist = (chr1 , chr2, chr3, chr4, chr5, chr6, chr7, chr8, chr9, chr10, chr11, chr12, chr13, chr14, chr15, chr16, chr17, chr18, chr19, chr20, chr21, chr22, chrX, chrY)
list2= []
for i in mylist:
list2.append(i.loc[i[3]=='U28',:])
df = pd.DataFrame(list2)
df
这是我对lis2的结果,
[ 0 1 2 3
172 chr1 12061 12062 U28
174 chr1 12064 12079 U28
[176650 rows x 4 columns], 0 1 2 3
9954 chr2 45229 45231 U28
9978 chr2 45280 45284 U28
9981 chr2 45288 45292 U28
[132574 rows x 4 columns], 0 1 2 3
1394 chr3 63185 63190 U28
1396 chr3 63192 63197 U28
1398 chr3 63206 63215 U28
.....
当我打电话给DataFrame时就会发生这种情况
0
0 0 1 2 3 172 ...
1 0 1 2 3 9954...
2 0 1 2 3 1394...
3 0 1 2 3 3516...
4 0 1 2 3 8894...
5 0 1 2 3 1471 ... 6 0 1 2 3 8385 ... ......
我想像这样将所有数据合并到同一数据框中
0 1 2 3
172 chr1 12061 12062 U28
174 chr1 12064 12079 U28
9954 chr2 45229 45231 U28
9978 chr2 45280 45284 U28
9981 chr2 45288 45292 U28
1394 chr3 63185 63190 U28
1396 chr3 63192 63197 U28
1398 chr3 63206 63215 U28
答案 0 :(得分:0)
在您的示例中,您需要遍历list2的每个元素,然后将项目附加到空数据框中。 参见以下示例:
= ^ .. ^ =
import pandas as pd
from io import StringIO
# create raw data
raw_data = StringIO("""
0 1 2 3
172 chr1 12061 12062 U28
174 chr1 12064 12079 U28
""")
# load data into data frame
df = pd.read_csv(raw_data, sep=' ')
# create raw data
raw_data = StringIO("""
0 1 2 3
9954 chr2 45229 45231 U28
9978 chr2 45280 45284 U28
9981 chr2 45288 45292 U28
""")
# load data into data frame
df2 = pd.read_csv(raw_data, sep=' ')
# create list of data frames
df_list = [df, df2]
# append data frames
df_final = pd.DataFrame()
for item in df_list:
df_final = df_final.append(item)
输出:
0 1 2 3
172 chr1 12061 12062 U28
174 chr1 12064 12079 U28
9954 chr2 45229 45231 U28
9978 chr2 45280 45284 U28
9981 chr2 45288 45292 U28