Python 3.x python3中数据帧的过滤和转置
我使用熊猫制作了一个csv文件,并试图将其作为下一步的输入。当我使用pandas打开文件时,它将如下示例所示: 例如:Python 3.x python3中数据帧的过滤和转置,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我使用熊猫制作了一个csv文件,并试图将其作为下一步的输入。当我使用pandas打开文件时,它将如下示例所示: 例如: Unnamed: 0 Class_Name Probe_Name small_example1.csv small_example2.csv small_example3.csv 0 0 Endogenous CCNO 196
Unnamed: 0 Class_Name Probe_Name small_example1.csv small_example2.csv small_example3.csv
0 0 Endogenous CCNO 196 32 18
1 1 Endogenous MYC 962 974 1114
2 2 Endogenous CD79A 390 115 178
3 3 Endogenous FSTL3 67 101 529
4 4 Endogenous VCAN 943 735 9226
我想画一个图,要做到这一点,我必须改变数据结构。
1-我想删除未命名列
2-然后我想为热图制作一个数据框。为此,我想使用以下列probe_name、small_example1.csv、small_example2.csv和small_example3.csv
3-我还想转置数据帧。
以下是预期输出:
Probe_Name CCNO MYC CD79A FSTL3 VCAN
small_example1.csv 196 962 390 67 943
small_example1.csv 32 974 115 101 735
small_example1.csv 18 1114 178 529 9226
我使用以下代码来实现这一点:
df = pd.read_csv('myfile.csv')
result = df.transpose()
但它并没有返回我想要的。你知道如何修复它吗?这里有一个建议:
更改1和2可以一次性解决:
df = df.loc[:, ["Probe_Name", "small_example1.csv", "small_example2.csv", "small_example3.csv"]] # This only retains the specified columns
为了使change 3转换按需要工作,需要将列Probe_名称设置为索引:
df = df.set_index("Probe_Name", drop=True)
df = df.transpose()
结果:
Probe_Name CCNO MYC CD79A FSTL3 VCAN
small_example1.csv 196 962 390 67 943
small_example2.csv 32 974 115 101 735
small_example3.csv 18 1114 178 529 9226
那么它会返回什么?我收到这个错误:/home/behzad/.local/lib/python3.6/site packages/pandas/core/index.py:1494:FutureWarning:Passing list likes to.loc或[]如果缺少任何标签,将来会引发keyrerror,您可以使用.reindex作为替代方法。请参阅此处的文档:return self.\u getitem\u tuplekeyand probe\u Name的值是NaNah,我拼写错了probe\u Name,应该是probe\u Name。相应地编辑了代码
Probe_Name CCNO MYC CD79A FSTL3 VCAN
small_example1.csv 196 962 390 67 943
small_example2.csv 32 974 115 101 735
small_example3.csv 18 1114 178 529 9226